摘要:
Vector clock是Dynamo用来解决数据一致性问题的一个算法,前提是遵循NRW理论,通过保证W+R>N保证强一致性,具体实现如下。 在写文件时,Vector Clock算法记录所有的更新版本,当读操作发生的时候返回多个版本,由客户端的业务成来解决这个版本冲突并合并各个版本。[上图来自于:http://upload.wikimedia.org/wikipedia/commons/5/55/Vector_Clock.svg]上图的场景是N=3,W=2,R=2。途中的具体实现如下:1、数据在t1时,数据在C变更,记录版本信息[C:1],然后t2时刻传播到B中[B:1,C:1]2、t3
阅读全文