3

我对CA和CP之间的区别感到困惑。假设我们选择CP,并且网络中有一个分区,如果我们想要在分布式系统中保持一致性,每个节点都必须等待并获得同步,以防止出现不一致。例如,我们在网络中有 10 台计算机,如果其中两台与其他计算机断开连接,则每台计算机都应该等待。这会导致可用性损失。但是似乎分区容忍度也没有得到满足,因为整个系统必须等待而不是进行操作。那么CP在这里是如何运作的呢?

4

1 回答 1

2

例如,我们在网络中有 10 台计算机,如果其中两台与其他计算机断开连接,则每台计算机都应该等待。

是的,没错。

但是似乎分区容忍度也没有得到满足,因为整个系统必须等待而不是进行操作。

分区容错性并不是说您的分区始终可用于所有操作。(您经常在 PA 设置中选择分区以确保始终有服务器可用,但在 CP 中则不同。)分区容差不包括这些分区的可用性。CP 的工作方式如下:我有分区,并且它们始终相互一致,但由于一台服务器死机,整个系统可能无法及时响应写入操作。

编辑:在这里形成。CA 的倾斜 PA instat。

CA:我有一个必须始终保持一致且可用的系统,但我不对其进行分区。因为如果我想要一致性,我无法将其分配并使其始终可用。PA:我有分区,而且大多数情况下不会发生所有服务器都死机的情况(因此系统始终可用。)但我的服务器可能彼此不一致。

于 2015-03-16T09:29:53.863 回答