Tag: 单点故障

解决单点故障: STEEM区块链ChatGPT机器人的多个读进程

我在STEEM区块链上部署了ChatGPT机器人:系统设计: Steem区块链ChatGPT机器人,这个系统设计同时还跑了其它类型的机器人,原理就有一个读进程监听链上的操作,发现是相关的操作就把数据写到数据库中,然后由相关机器人的进程(比如ChatGPT)把数据再取出来,进行处理,然后再相应的写到数据库中的另一个表中。这里的数据库就类似中消息中间件 Message Queue,用来解耦不同的组件。 单点故障 Single Point of Failure,指得是系统中的一些零件如果损坏不能用了,整个系统也就变得不能用了。这里的读取进程就是单点故障,因为如果该进程崩溃了,再重新启用的时候也无法回溯过去区块链上的信息,这个进程实时监听链上的操作,如果错过了就是错过了。而这个系统设计其它的零件则没有这个问题,毕竟是处理数据库中的数据,进程崩溃会被自动重启,然后继续处理数据库中未被处理完的数据。 解决这个问题也不难,只要在不同的服务器上多跑几个读进程即可。不过这里需要保证数据库表里有唯一的限制,这样多台服务器在同时往同一数据库表格写数据的话只会有一条成功,而其它则会失败。 下面SQL给表格加个唯一的限制: alter table blockchain add unique key (block, ...); 英文:Avoid Single Point of Failures by Introducing Multiple Master Backup …

说说单点故障 Single Point Failure

这两天 steemd 一直很不稳定, 直接导致于我那点赞机器人就无法工作: Python STEEM 库会不停的尝试连接区块链网络, 然后等待再试, 基本上我写的大部分脚本都失效了, 表现的结果就是很多脚本卡死的状态, 我用 命令 ps augx | grep steem | wc -l 竟然发现有几十份同样的脚本在运行(因为 crontab 里设置每一分钟就跑一遍 获取点赞名单和文章, 决定是否点赞和点赞比例). steemd.com 时好时坏. 不得已, 只能 …