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

查看 29|回复 0
作者:jasonkayzk   
一个集群中有许多台设备,各个设备之间的连接是不固定的,可能突然连接上或者突然断开;
每台设备上都会产生一定的数据,例如:
  • 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 一直没有连接,则各台的数据不变;
    (总结一下,就是类似于将各台设备上对数据的操作按照时间顺序求并集的分布式算法)
    上面的设备台数可能会很多,数据量可能也比较大,请问一下有没有什么比较好的方案呢?
  • 您需要登录后才可以回帖 登录 | 立即注册

    返回顶部