一致性 C:Zookeeper 是强一致性系统,为了保证较强的可用性,“一半以上成功即成功”的数据同
步方式可能会导致部分节点的数据不一致。所以 Zookeeper 还提供了 sync() 操作来做所有节点的
数据同步,这就关于 C 和 A 的选择问题交给了用户,因为使用 sync()势必会延长同步时间,可用性
会有一些损失。
可用性 A:Zookeeper 数据存储在内存中,且各个节点都可以相应读请求,具有好的响应性能。
Zookeeper 保证了数据总是可用的,没有锁。并且有一大半的节点所拥有的数据是最新的。
分区容忍性 P:Follower 节点过多会导致增大数据同步的延时(需要半数以上 follower 写完提
交)。同时选举过程的收敛速度会变慢,可用性降低。Zookeeper 通过引入 observer 节点缓解了
这个问题,增加 observer 节点后集群可接受 client 请求的节点多了,而且 o