Zookeeper 对 CAP 的澄清

Zookeeper clarification on CAP

我想澄清一下我对CAP定理的理解

例如:Zookeeper 被归类为 CP(一致性和分区容错)

这是什么意思?在分区失败的情况下,系统return数据是否一致? 或者这是否意味着 ZK 集群中的节点之间存在连接问题,ZK 不可用。

如果是,这意味着什么,当集群中的节点无法相互通信时,整个 ZK 就会崩溃。

只要有法定人数,Zookeeper 就会处理请求,这意味着大多数节点都可用。由于它需要大多数节点,所以它不能容忍网络分区。

它将数据复制到所有节点(至少是法定人数)以保持一致。

如果无法选出领导者,则 zookeeper(无法定人数)的请求将失败,这就是它不具备高可用性的原因。

通常 3 或 5 个服务器用于 zookeeper,仲裁将分别为 2 或 3 个节点。

有关详细信息,请参阅此博客 post。 https://www.ibm.com/developerworks/library/bd-zookeeper/index.html