Zookeeper算法
2021-06-07 15:45:34 0 举报
zookeeper算法公开java
作者其他创作
大纲/内容
QuorumCnxManager.Listener
监听
相等
false
Qurumpeer.star
true
leader选出赋值到PeerState
重点要来了
结果
提议proposed选举my为leader
默认electionAlg==FastLeaderElection
recvQueue
run
QuorumHierarchical
newEpoch == curEpoch
取
大于,结果
RecvWorker
收到lookForLeader周期是否大于本机周期
默认快速算法
大于
把大于周期赋值给本身
是
收
QuorumPeer(zookeeper的选举算法)
把结果发送出去
lookForLeader
选举原先票权限比较大,更新自己为leader
receiveConnection
running && !shutdown && sock != null
startLeaderElection
QuorumMaj
send(b)
newEpoch > curEpoch
选举leader
setupRequestProcessors
newId > curId)
SendWorker
是否过半已经
socketer
算法的策略
否
发
queueSendMap
修改lastMessageSent
小于
算法主要方法FastLeaderElection.lookForLeader
选举收到消息比本身的票据权限大,更新为消息中的leader id
newZxid > curZxid
收藏
收藏
0 条评论
下一页