zoukankan      html  css  js  c++  java
  • Zookeeper选举机制

    第一次启动:

    非首次启动:

    相关概念:

    1、Serverid:服务器ID

    比如有三台服务器,编号分别是1,2,3。

    编号越大在选择算法中的权重越大。

    2、Zxid:数据ID

    服务器中存放的最大数据ID.

    值越大说明数据越新,在选举算法中数据越新权重越大。

    3、Epoch:逻辑时钟

    或者叫投票的次数,同一轮投票过程中的逻辑时钟值是相同的。每投完一次票这个数据就会增加,然后与接收到的其它服务器返回的投票信息中的数值相比,根据不同的值做出不同的判断。

    4、Server状态:选举状态

    • LOOKING,竞选状态。
    • FOLLOWING,随从状态,同步leader状态,参与投票。
    • OBSERVING,观察状态,同步leader状态,不参与投票。
    • LEADING,领导者状态。

     选举状态流程图:

    描述Leader选择过程中的状态变化,这是假设全部实例中均没有数据,假设服务器启动顺序分别为:A,B,C。

  • 相关阅读:
    Git使用方法
    设计模式之原型模式
    php基础查找算法
    php基础排序算法
    设计模式之工厂模式
    设计模式之代理模式
    设计模式之装饰者模式
    设计模式之六大原则
    设计模式之策略模式
    设计模式之简单工厂模式
  • 原文地址:https://www.cnblogs.com/danyuzhu11/p/15478652.html
Copyright © 2011-2022 走看看