Zookeeper 学习笔记之 节点个数

Posted AK47Sonic

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Zookeeper 学习笔记之 节点个数相关的知识,希望对你有一定的参考价值。

zookeeper的节点配置的个数推荐是奇数个这是为什么呢?

选举机制

两种情况无法选出leader:

  1. 整个集群只有2台服务器(注意不是只剩2台,而是集群的总节点数为2)

  2. 整个集群超过半数机器挂掉。

所谓的偶数问题其实是另一个集群优化配置问题,即:集群的容灾数量=集群总节点数/2-1

集群中只要有过半的机器是正常工作的,那么整个集群对外就是可用的。也就是说如果有2个zookeeper,那么只要有1个死了zookeeper就不能用了,因为1没有过半,所以2个zookeeper的死亡容忍度为0;同理,要是有3个zookeeper,一个死了,还剩下2个正常的,过半了,所以3个zookeeper的容忍度为1;

同理你多列举几个:

2 容忍度0

3 容忍度1

4 容忍度1

5 容忍度2

6 容忍度2

会发现一个规律,2n和2n-1的容忍度是一样的,都是n-1,奇数为5,而偶数为6,也就是6个zookeeper服务的情况下最多能宕掉2个服务,所以从节约资源的角度看,没必要部署6(偶数)个zookeeper服务。为了更加高效,没必要增加一个不必要的zookeeper。

以上是关于Zookeeper 学习笔记之 节点个数的主要内容,如果未能解决你的问题,请参考以下文章

Kafka 学习笔记之 ZooKeeper作用

SpringCloud 学习笔记总结

zookeeper学习笔记

ZooKeeper学习笔记二:API基本使用

Zookeeper 学习笔记 (详细)

Zookeeper 学习笔记 (详细)