在高可用框架中,咱们在系统架构设计时,会尽量避免单点问题,引入冗余的副本机制,分布式CAP理论中,无论AP还是CP,Partition Tolerance分区容错的特征必须得到保障;
Zookeeper 也提供集群部署方式,同时提供leader选举机制,集群部署推荐配置不少于 3 个服务器。
Zookeeper 自身也要保证当一 个节点宕机时, 其他节点会继续提供服务。
如果是一个 Follower 宕机, 还有 2 台服务器提供访问, 因为 Zookeeper 上的数据是 有多个副本的, 数据并不会丢失;
如果是一个 Leader 宕机, Zookeeper 会选举出新的 Leader。 ZK 集群的机制是只要超过半数的节点正常, 集群就能正常提供服务。只有在 ZK 节点挂得太多, 只剩一半或不到一半节点能工作, 集群才失效。 所以3 个节点的 cluster 可以挂掉 1 个节点(leader 可以得到 2 票>1.5) 2 个节点的 cluster 就不能挂掉任何 1 个节点了



