2016年7月2日星期六

Zookeeper_004:如何认定整个集群是否可用?(摘录+整理)

ZooKeeper 配置使用要求如下:
  • ZooKeeper 集群的节点数目必须是奇数。
  • ZooKeeper 集群中必须超过半数的节点可用,整个集群才可用。
ZooKeeper 提供了三种方式来认定整个集群是否可用。

1. Majority Quorums
ZooKeeper 默认采用此种方式。
Majority Qunroms 有两个作用:
(1)集群中最少的节点数用来选举 Leader 保证集群可用。
(2)通知客户端数据已经安全保存前集群中最少数量的节点数已经保存了该数据。一旦这些节点保存了该数据,客户端将被通知已经安全保存了,可以继续其他任务。而集群中剩余的节点将会最终也保存了该数据。
(3)解决脑裂。

关于脑裂,请参考《Architect_023:怎样解决集群的脑裂问题?(摘录+整理)

2. Weight

3. Hierarchy of groups


参考文献:
1. http://suroot.cn/306.html
2. http://zookeeper.apache.org/doc/r3.3.5/zookeeperInternals.html

没有评论: