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

  • 相关阅读:
    Java 并发性和多线程
    Java多线程整理
    线程死锁问题
    随机生成长度为len的密码,且包括大写、小写英文字母和数字
    ConcurrentHashMap原理分析
    并发 并行 同步 异步 多线程的区别
    Android与javaScript的交互
    Android6.0 新特性详解
    Android 6.0 新功能及主要 API 变更
    安装 Python-Client
  • 原文地址:https://www.cnblogs.com/youcong/p/10116315.html
Copyright © 2011-2022 走看看