zookeeper
2019-01-29 10:48:24 0 举报
zookeeper
作者其他创作
大纲/内容
Server
FastLeaderElection
RecvWorkerThread
发送的时候将发送出去的东西放到一个lastMessageSent的map里,如果queueSendMap里是空的,就发送lastMessageSent里的东西,确保对方一定收到了。
vote
属性1:recvQueue作为接受队列
run方法
zoo.cfg上指定的监听端口启动监听
WorkerReceiver--Thread
实现一个状态机
getInitId()获取选谁
WorkerSender--Thread
属性2:queueSendMap表示每个sid对应的发送的发送队列
默认都是选自己为leader,将选举信息保存到Worksender下的队列中的
startLeaderElection
Zookeeper默认提供了4种选举方式,默认是第4种: FastLeaderElection。
connectOne(sid);广播投票消息
Synchronized()
取投票消息
setCurrentVote(makeLEStrategy().lookForLeader());
QuorumPeer
Looking分支
SendWorkerThread
选举leader时候的网络IO(IO:QuorumCnxManager)
0 条评论
回复 删除
下一页