V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
jasonkayzk
V2EX  ›  问与答

请教万能的 v 友们,这种情况下的数据同步应该使用哪种分布式算法?或者如何实现?

  •  1
     
  •   jasonkayzk · 2023-09-06 21:39:01 +08:00 · 737 次点击
    这是一个创建于 429 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一个集群中有许多台设备,各个设备之间的连接是不固定的,可能突然连接上或者突然断开;

    每台设备上都会产生一定的数据,例如:

    • A:1 、2 、3
    • B:3 、4 、5
    • C:1 、3 、6

    则,当 A 、C 两台设备连接后进行同步的结果为:

    • A 、C:1 、2 、3 、6

    此时,A 、B 再连接同步的结果为:

    • A 、B:1 、2 、3 、4 、5 、6

    当三台设备之间同步后,结果也为:

    • A 、B 、C:1 、2 、3 、4 、5 、6

    删除某一台上的数据之后,变为:

    • A 、B 、C:2 、3 、4 、5 、6

    (注意:这里是由于各台都先进行了 insert 1 后,某一台又执行了 delete 1 的操作,所以同步结果没有 1 )

    如果 A 、B 一直没有连接,则各台的数据不变;

    (总结一下,就是类似于将各台设备上对数据的操作按照时间顺序求并集的分布式算法)

    上面的设备台数可能会很多,数据量可能也比较大,请问一下有没有什么比较好的方案呢?

    2 条回复    2023-09-07 08:50:10 +08:00
    sapjax
        1
    sapjax  
       2023-09-07 08:09:24 +08:00   ❤️ 1
    jasonkayzk
        2
    jasonkayzk  
    OP
       2023-09-07 08:50:10 +08:00
    @sapjax 谢谢大佬,我研究研究。❤️
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2737 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 14:27 · PVG 22:27 · LAX 06:27 · JFK 09:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.