zoukankan      html  css  js  c++  java
  • Zookeeper入门(四)之Leader选举

    让我们分析如何在ZooKeeper集合中选举leader节点。考虑一个集群中有N个节点。leader选举的过程如下:

    • 所有节点创建具有相同路径 /app/leader_election/guid_ 的顺序、临时节点。
    • ZooKeeper集合将附加10位序列号到路径,创建的znode将是 /app/leader_election/guid_0000000001,/app/leader_election/guid_0000000002等。
    • 对于给定的实例,在znode中创建最小数字的节点成为leader,而所有其他节点是follower。
    • 每个follower节点监视下一个具有最小数字的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。
    • 如果leader关闭,则其相应的znode/app/leader_electionN会被删除。
    • 下一个在线follower节点将通过监视器获得关于leader移除的通知。
    • 下一个在线follower节点将检查是否存在其他具有最小数字的znode。如果没有,那么它将承担leader的角色。否则,它找到的创建具有最小数字的znode的节点将作为leader。
    • 类似地,所有其他follower节点选举创建具有最小数字的znode的节点作为leader。

    leader选举是一个复杂的过程,但ZooKeeper服务使它非常简单。

    小结:

    这篇文章虽然短的很,但是大家可以看看了解下,对于下面文章会有一定的帮助。

    本文大部分内容引自w3cschool:https://www.w3cschool.cn/zookeeper/zookeeper_leader_election.html

  • 相关阅读:
    65_磁盘文件的使用
    64_设备文件的使用
    63_json解析成map格式
    62_json文件解析成结构体格式
    61_map生成json的使用
    60_通过结构体生成json
    59_字符串的转换
    58_字符串的一些操作函数的使用
    57_recover的使用
    56_异常处理error,errors和painc的使用
  • 原文地址:https://www.cnblogs.com/youcong/p/10116315.html
Copyright © 2011-2022 走看看