jasonkayzk
V2EX  ›  问与答

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

  •  1
     
  •   jasonkayzk · Sep 6, 2023 · 1579 views
    This topic created in 1003 days ago, the information mentioned may be changed or developed.

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

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

    • 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 replies    2023-09-07 08:50:10 +08:00
    jasonkayzk
        2
    jasonkayzk  
    OP
       Sep 7, 2023
    @sapjax 谢谢大佬,我研究研究。❤️
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2989 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 54ms · UTC 06:05 · PVG 14:05 · LAX 23:05 · JFK 02:05
    ♥ Do have faith in what you're doing.