【发布时间】:2012-10-22 11:43:27
【问题描述】:
可能重复:
Eventual Consistency
我是 Nosql 的新手,我阅读了很多关于它的文档,它们都只讨论最终的一致性,并没有解释:它是如何工作的。
那么,谁能帮我解释一下:如何获得最终的一致性?
谢谢,
【问题讨论】:
标签: nosql consistency eventual-consistency
可能重复:
Eventual Consistency
我是 Nosql 的新手,我阅读了很多关于它的文档,它们都只讨论最终的一致性,并没有解释:它是如何工作的。
那么,谁能帮我解释一下:如何获得最终的一致性?
谢谢,
【问题讨论】:
标签: nosql consistency eventual-consistency
一旦您拥有数据项的多个副本,一致性就会成为一个问题,尤其是在分布式系统中。
CAP Theorem 表示您不能同时拥有一致性、可用性和分区容限这三者。
如果你选择 A 和 P,那么你必须放弃 Consistency(在某种程度上)。这意味着系统的不同部分可能具有不同的数据项值。系统的不同部分会不断尝试通过通信保持彼此的一致性,但这可能需要一点时间(因此是“最终”一致性)。
this related question 的答案中描述了一些实现一致性的机制/协议。
所以谈论“如何获得最终一致性”是没有意义的——最终(或没有)一致性是您在分布式系统中默认获得的,除非您非常小心(并至少牺牲可用性和分区之一宽容)。完全一致的系统必须更加努力地确保所有副本都正确同步。
【讨论】: