high-concurrent-distributed
  • Introduction
  • RPC
    • RPC模式介绍
      • RPC概念
      • RPC核心过程/RPC需要解决的问题
      • RPC框架
    • 常见RPC技术
    • 网络协议分析
      • 网络七层
      • TCP
      • UDP
      • 应用层HTTP协议
  • 分布式系统Zookeeper
    • CAP理论
    • Zookeeper基础知识
      • Zookeeper介绍
      • Zookeeper基础
      • Zookeeper单机部署
      • Zookeeper配置文件详解、下载目录说明
      • Zookeeper工作流
      • Zookeeper CLI/客户端常用命令
      • Zookeeper leader选举
      • Java客户端介绍
        • 原生Zookeeper API
        • curator客户端
        • zkClient客户端
    • Zookeeper高级知识
      • Zookeeper集群
      • 典型的应用场景
        • 分布式配置中心
        • 分布式锁
        • 集群管理(Group Membership)
        • 统一的命名服务
        • zookeeper的注意事项
        • 队列管理
  • Dubbo框架
    • Dubbo介绍
    • Dubbo常见问题解析
Powered by GitBook
On this page

Was this helpful?

  1. 分布式系统Zookeeper
  2. Zookeeper基础知识

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服务使它非常简单。让我们在下一章中继续学习ZooKeeper安装,以用于开发目的。

PreviousZookeeper CLI/客户端常用命令NextJava客户端介绍

Last updated 5 years ago

Was this helpful?