leader选举的原理

接下来再我们基于源码来分析leader选举的整个实现过程。 

leader选举存在与两个阶段中,一个是服务器启动时的leader选举。 另一个是运行过程中leader节点宕机导致的leader选举 ;

在开始分析选举的原理之前,先了解几个重要的参数

服务器ID(myid)

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

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

zxid事务id

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

逻辑时钟(epoch – logicalclock)

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

选举状态

LOOKING,竞选状态。

FOLLOWING,随从状态,同步leader状态,参与投票。

OBSERVING,观察状态,同步leader状态,不参与投票。

LEADING,领导者状态。

猜你喜欢

转载自blog.csdn.net/Leon_Jinhai_Sun/article/details/112912801