zookeeper知识点总结

1. 关于ZooKeeper集群服务器数:

    ZooKeeper 官方确实给出了关于奇数的建议,但绝大部分 ZooKeeper 用户对于这个建议认识有偏差。一个 ZooKeeper 集群如果要对外提供可用的服务,那么集群中必须要有过半的机器正常工作并且彼此之间能够正常通信。基于这个特性,如果想搭建一个能够允许 N 台机器 down 掉的集群,那么就要部署一个由 2*N+1 台服务器构成的 ZooKeeper 集群。因此,一个由 3 台机器构成的 ZooKeeper 集群,能够在挂掉 1 台机器后依然正常工作,而对于一个由 5 台服务器构成的 ZooKeeper 集群,能够对 2 台机器挂掉的情况进行容灾。注意,如果是一个由6台服务器构成的 ZooKeeper 集群,同样只能够挂掉 2 台机器,因为如果挂掉 3 台,剩下的机器就无法实现过半了。

    zookeeper有这样一个特性:

  【集群中只要有超过过半的机器是正常工作的,那么整个集群对外就是可用的】

   也就是说如果有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,所以为了更加高效,何必增加那一个不必要的zookeeper呢。

2. Zookeeper主要功能:

    1)配置管理

    2)名字服务

    3)分布式锁

    4)集群管理

   参见:https://www.cnblogs.com/ultranms/p/9585191.html

 

posted @ 2019-12-20 16:52  Jtianlin  阅读(489)  评论(0编辑  收藏  举报