【问题标题】:What if we partition a C+A distributed system?如果我们对 C+A 分布式系统进行分区怎么办?
【发布时间】:2016-09-23 15:35:14
【问题描述】:
我已经阅读了this、this 和this,但仍然无法理解 CAP 定理的 C+A 范畴。
我的意思是那些系统不是为支持可能发生的分区而设计的。如果周围有副本,他们最终可以处理一些孤立节点的丢失。
是的,但我可以看到其中一些确实存在。那么,在现实世界中,如果我们对节点进行分区,它们会如何表现?两个分区中的活动节点都必须在 A 和 C 之间进行选择...还是两者都丢失?
【问题讨论】:
标签:
distributed
partition
consistency
availability
【解决方案1】:
您不能拥有 C+A 分布式系统,这就是 CAP 定理的重点。正如here 解释的那样,我引用:
CAP 只禁止设计空间的一小部分:存在分区时的完美可用性和一致性,这是罕见的。
尽管当存在分区时设计人员仍需要在一致性和可用性之间做出选择,但处理分区和从分区中恢复的灵活性范围令人难以置信。
如果您想将 CAP 定理简化为一个简短的句子(例如“您可以从 3 中选择 2”),则更好的近似是:
In the presence of a partition, you get to pick consistency or availability.