如果我们划分一个C+ a分布式系统



我已经读了这个,这个和这个,但仍然不能理解CAP定理的C+A类别。

我的意思是那些系统不是设计来支持可能发生的分区。最终,如果周围有副本,它们可以处理一些孤立节点的丢失。

对,但我可以看到其中一些确实存在。那么,在现实世界中,如果我们划分节点,它们是如何表现的呢?两个分区中的活动节点必须在A和C之间做出选择。还是两者都失去了?

你不能有一个C+ a分布式系统,这就是CAP定理的全部意义。就像这里解释的那样,我引用:

CAP只禁止设计空间的一小部分:分区存在时的完美可用性和一致性,这是罕见的。

尽管设计人员仍然需要在分区存在时在一致性和可用性之间做出选择,但是对于处理分区和从分区中恢复来说,有一个令人难以置信的灵活性范围。

如果你想把CAP定理简化成一句话(比如"你从3个中挑2个"),一个更好的近似是:

In the presence of a partition, you get to pick consistency or availability.

最新更新