ZooKeeper 教程

ZooKeeper 使用

ZooKeeper 高级教程

ZooKeeper 笔记

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/zookeeper-leader-election.html

Zookeeper领导人选举


让我们来分析一下一个领导节点在ZooKeeper集合的选举。考虑集群中有N多的节点。领导人选举的过程如下 −

  • 所有节点创建一个顺序,znode具有相同路径,/app/leader_election/guid_。

  • ZooKeeper 的集合将追加的10位序列号的路径,创造了 znode 将会是 /app/leader_election/guid_0000000001, /app/leader_election/guid_0000000002, ...等。

  • 对于给定的实例,它在znode创建最小数量的节点成为领导者以及所有其他节点的追随者。

  • 每一个追随者节点监控下一个最小号的znode。

        例如,节点这将创建znode /app/leader_election/guid_0000000008 将监控znode/app/leader_election/guid_0000000007 
        及其该节点创建znode /app/leader_election/guid_0000000007 将监控znode /app/leader_election/guid_0000000006.
  • 如果领导停机,接着其对应的znode/app/leader_electionN被删除。

  • 跟随节点接下来将通过观察者得到关领导去除的通知。

  • 跟随节点接下来会检查是否有其他znodes用最小数量。 如果没有,接着它将承担领导者的角色。否则,它会找到哪些用最小数创造了znode作为领导者的节点。

  • 同样,其他所有跟随节点选举创造了znode用最小数作为领导者的节点。

领导人选举时,它从头开始做一个复杂的过程。但ZooKeeper服务,使得它非常简单。让我们在接下来的章节介绍 ZooKeeper 安装和开发。