一个系统怎么可能是CP?

How a system can be CP?

我对Partition tolerance的理解是即使出现网络分区,系统也应该继续工作。但是CP系统声明如果有网络分区那么系统应该关闭以保持一致性。那么CP系统如何保持分区容忍度属性。

谢谢

你的困惑来自“工作”的定义。为了满足 C,出错是可以接受的,它只要求每次读取尝试要么看到最新的写入,要么导致错误响应。因此,CP 系统不会仅仅因为存在网络分区而关闭,而只会发出错误信号。

一个广义的系统,它可以保证在发生分区时,该事实会以某种方式传达给系统的每个组件,包括系统的每个可能用户(或任何可以询问用户的人)对于必须通过询问系统来回答的信息),因此没有人会提出一个请求,其中包括该系统可以说可以满足 CA:它保证每个有效请求都看到最新的写入,因为当没有请求时保证不能成立。