在 Cassandra 中,同时分布式写入如何保持一致性?
In Cassandra how simultaneous distributed writes maintain consistency?
有一个三节点 Cassandra 集群,复制因子为 3,节点 X、Y、Z 具有一致性仲裁。因此三者中的任何一个都可以成为协调器。
假设有两个同步操作同时执行,一个作为协调器X,另一个与协调器Z一起改变状态。
操作 1 (On X): 改变状态从 0 -> 1
操作 2(On Z):改变状态 0 -> 2
现在最终状态应该是Value 2,但是如果Operation 2先于Operation 1执行,最终状态会是什么?
感谢您的帮助。
最后一次写入获胜,例如具有最高时间戳的突变总是获胜。查看这些幻灯片:http://www.slideshare.net/doanduyhai/cassandra-introduction-parisjug/44
有一个三节点 Cassandra 集群,复制因子为 3,节点 X、Y、Z 具有一致性仲裁。因此三者中的任何一个都可以成为协调器。
假设有两个同步操作同时执行,一个作为协调器X,另一个与协调器Z一起改变状态。
操作 1 (On X): 改变状态从 0 -> 1 操作 2(On Z):改变状态 0 -> 2
现在最终状态应该是Value 2,但是如果Operation 2先于Operation 1执行,最终状态会是什么?
感谢您的帮助。
最后一次写入获胜,例如具有最高时间戳的突变总是获胜。查看这些幻灯片:http://www.slideshare.net/doanduyhai/cassandra-introduction-parisjug/44