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