场景是:一个 master 节点,与 100+个 worker 节点通信(位于不同地区)
worker 之间网络不通,只和 master 通。
每个 master/worker 为一个独立的系统(有服务、存储等)
场景:
1 、master 上 operator 执行某个操作
2 、master 写入本地 mysql
或 修改 ini 配置文件
,重启自己的服务(使配置生效)
3 、worker 节点同步 mysql 的修改(主从)
4 、master 发布消息到 mq 消息
5 、所有 worker 收到消息( command )
a ) rsync 拉取 ini
b )重启服务(使配置生效,如果第 3 步未完成,则失败)
现状:不同的业务,有不同的处理方式。
有时候需要有个文件同步到所有 worker
有时候需要所有 worker 或 部分 woker 重启服务,有时候不用
有时候 master 业务更改,需要所有 worker 执行某个脚本
业务很多,维护已经疯掉了,bug 很多。
有什么好的改进思路?
1
zliea 2022-03-16 16:24:21 +08:00 1
我觉得业务很明确,就是需要保证 master 触发操作需要有记录,所有 worker 上的 Agent 的操作幂等;且保证 master/worker 的结果可查询,失败可重试。
|
2
dayeye2006199 2022-03-17 05:22:34 +08:00
朴素的分布式系统,感觉看到了很多系统的雏形
|