我想阐明我对CAP定理的理解
例如:Zookeeper被归类为CP(Consistent and Partition Tolerant)
这是什么意思?如果分区失败,系统是否返回一致的数据? 或者是否意味着当ZK集群中的节点之间存在连接问题时,ZK不可用。
如果是,那意味着当集群中的节点无法相互通信时,整个ZK都会关闭。
答案 0 :(得分:1)
只要有仲裁意味着大多数节点可用,Zookeeper就会处理请求。由于它需要大部分节点而不是所有节点都能够容忍网络分区。
它将数据复制到所有节点(至少是仲裁)以保持一致。
如果领导者不能当选,那么zookeeper(没有法定人数)将失败请求,这就是为什么它没有高度可用。
通常,3或5个服务器用于zookeeper,仲裁将分别为2或3个节点。
有关详细信息,请参阅此博客文章。 https://www.ibm.com/developerworks/library/bd-zookeeper/index.html