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

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

  •  1
     
  •   jasonkayzk · 234 天前 · 516 次点击
    这是一个创建于 234 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    • 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
    jasonkayzk
        2
    jasonkayzk  
    OP
       233 天前
    @sapjax 谢谢大佬,我研究研究。❤️
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2821 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 15:15 · PVG 23:15 · LAX 08:15 · JFK 11:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.