首页 > 其他分享 >Zookeeper投票机制

Zookeeper投票机制

时间:2023-06-29 15:00:57浏览次数:37  
标签:zxid Zookeeper server 投票 机制 Server leader sever

每个 sever 首先给自己投票,然后用自己的选票和其他 sever 选票对比,权重大的胜出,使用权重较大的更新自身选票箱。

具体选举过程如下:

1. 每个 Server 启动以后都询问其它的 Server 它要投票给谁。对于其他 server 的询问, server 每次根据自己的状态都回复自己推荐的 leader 的 id 和上一次处理事务的 zxid(系统启动时每个 server 都会推荐自己)

2. 收到所有 Server 回复以后,就计算出 zxid 最大的哪个 Server,并将这个 Server 相关信息设置成下一次要投票的 Server。

3. 计算这过程中获得票数最多的的 sever 为获胜者,如果获胜者的票数超过半数,则改server 被选为 leader。否则,继续这个过程,直到 leader 被选举出来

4. leader 就会开始等待 server 连接

5. Follower 连接 leader,将最大的 zxid 发送给 leader

6. Leader 根据 follower 的 zxid 确定同步点,至此选举阶段完成。

7. 选举阶段完成 Leader 同步后通知 follower 已经成为 uptodate 状态

8. Follower 收到 uptodate 消息后,又可以重新接受 client 的请求进行服务了

标签:zxid,Zookeeper,server,投票,机制,Server,leader,sever
From: https://blog.51cto.com/u_11315052/6582826

相关文章

  • Zookeeper 介绍
    一、Zookeeper介绍1.什么是ZookeeperZookeeper是一种分布式协调服务用于管理大型主机,分布式环境中协调管理服务是一个复杂的过程,Zookeeper通过其简单的架构和API解决这个问题。Zookeeper允许开发人员专注于核心应用程序逻辑,而不必担心应用程序的分布特性。2.Zookeeper......
  • R语言IMDb TOP250电影特征数据挖掘可视化分析受众偏好、排名、投票、评分
    全文链接:https://tecdat.cn/?p=32998原文出处:拓端数据部落公众号本文首先介绍了IMDb(互联网电影资料库) TOP250及其排名算法、评分机制利弊,帮助客户通过分析《黑暗骑士》、《肖申克的救赎》和《教父》三部影片在2008年7月至9月评分数据,分析排名变动的原因。其次,通过抓取曾经入选......
  • 深入类加载机制
    初识类加载过程使用某个类时,如果该类的class文件没有加载到内存时,则系统会通过以下三个步骤来对该类进行初始化1.类的加载(Load) → 2.类的连接(Link) → 3.类的初始化(Initialize)类的加载(Load):将类的class文件读入内存,并为之创建一个java.lang.Class的对象,此过程由类加载器(ClassLoader)......
  • kafka ack机制
    1kafka基本架构kafka的partion分为leader和follow。leader参与允许,二follower仅作为备份。那么,leader和follower之间是怎么同步的呢 2leader和follower的同步Partition只有Leader是对外提供读写服务的也就是说,如果有一个客户端往一个Partition写入数据,......
  • USB—CH32x作为USB设备时的通信机制和注意事项
    USB设备的数据交互机制围绕中断来展开核心机制:设备准备好状态和数据,主机下发命令,硬件根据寄存器的设置自动立即回复,然后进入相应中断 SETUP:SETUP必须回复ACK,主机收到设备的ACK,MCU进入对应的SETUP中断中断里,设备解析SETUP中的命令,然后准备相关的数据,设置对应的寄存器例如获取描......
  • JVM 类加载机制
    加载过程其中验证,准备,解析合称链接加载通过类的完全限定名,查找此类字节码文件,利用字节码文件创建Class对象.验证确保Class文件符合当前虚拟机的要求,不会危害到虚拟机自身安全.准备进行内存分配,为static修饰的类变量分配内存,并设置初始值(0或null).不包含final修饰的静态......
  • SpringBoot事件机制
    1、是什么?SpringBoot事件机制是指SpringBoot中的开发人员可以通过编写自定义事件来对应用程序进行事件处理。我们可以创建自己的事件类,并在应用程序中注册这些事件,当事件被触发时,可以对其进行处理。在SpringBoot中,事件可以是任意类型的,可以是基于Spring的事件,也可以是自定义的事......
  • 从2PC和容错共识算法讨论zookeeper中的Create请求 | 京东云技术团队
    最近在读《数据密集型应用系统设计》,其中谈到了zookeeper对容错共识算法的应用。这让我想到之前参考的zookeeper学习资料中,误将容错共识算法写成了2PC(两阶段提交协议),所以准备以此文对共识算法和2PC做梳理和区分,也希望它能帮助像我一样对这两者有误解的同学。1.2PC(两阶段提交协议)两......
  • 从2PC和容错共识算法讨论zookeeper中的Create请求
    最近在读《数据密集型应用系统设计》,其中谈到了zookeeper对容错共识算法的应用。这让我想到之前参考的zookeeper学习资料中,误将容错共识算法写成了2PC(两阶段提交协议),所以准备以此文对共识算法和2PC做梳理和区分,也希望它能帮助像我一样对这两者有误解的同学。1.2PC(两阶段提交协议......
  • linux-zookeeper
    zookeeper一、部署zookeeper单点1.下载zookeeper软件https://zookeeper.apache.org/releases.html[[email protected]~]#ll-rw-r--r--1rootroot13185104Apr1016:09apache-zookeeper-3.8.0-bin.tar.gz2.解压软件包[[email protected]~]#tarxfapache-zookeeper......