V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
BeijingBaby
V2EX  ›  程序员

接手一个奇葩系统……

  •  
  •   BeijingBaby · 2022-03-16 15:16:37 +08:00 · 1471 次点击
    这是一个创建于 1015 天前的主题,其中的信息可能已经有所发展或是发生改变。

    场景是:一个 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 很多。

    有什么好的改进思路?

    zliea
        1
    zliea  
       2022-03-16 16:24:21 +08:00   ❤️ 1
    我觉得业务很明确,就是需要保证 master 触发操作需要有记录,所有 worker 上的 Agent 的操作幂等;且保证 master/worker 的结果可查询,失败可重试。
    dayeye2006199
        2
    dayeye2006199  
       2022-03-17 05:22:34 +08:00
    朴素的分布式系统,感觉看到了很多系统的雏形
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1147 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 18:33 · PVG 02:33 · LAX 10:33 · JFK 13:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.