ZooKeeper leader选举 源码分析
2019-04-19 13:56:35 0 举报
Zookeeper leader选举
作者其他创作
大纲/内容
runFromConfig(config)读取epotch,获得zxid
loadDataBase()
totalOrderPredicate(.....)
FastLeaderElection
根据配置获取选举选法
启动主线程
createElectionAlgorithm(electionType)
1.判断消息里的epoch是不是比当前的大,如果大则消息中id对应的服务器就是leader 2. 如果epoch相等则判断zxid,如果消息里的zxid大,则消息中id对应的服务器就是leader3. 如果前面两个都相等那就比较服务器id,如果大,则其就是leader
startLeaderElection()
QuorumPeer
main()
initializeAndRun(args)
入口
开始选举,如果当前节点的状态是LOOKING,则投票给自己
QuorumPeerMain
start()
收藏
0 条评论
下一页