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。

  • 相关阅读:
    sys模块详解
    os模块详解2
    tyvj 1203 机器分配
    洛谷 P1496 火烧赤壁
    P1204 [USACO1.2]挤牛奶Milking Cows
    bzoj 2120 数颜色
    P2056 采花
    P1972 [SDOI2009]HH的项链
    9.20模拟赛
    P2709 小B的询问
  • 原文地址:https://www.cnblogs.com/danyuzhu11/p/15478652.html
Copyright © 2011-2022 走看看