摘要:
Follower是 follower节点启动的和leader进行同步的功能类 主要逻辑如下: 1.和leader建立链接 2.向leader发送自己的epoch和zxid. 处理来自leader的数据包 阅读全文
摘要:
QuorumPeer是zookeeper执行同步,选主过程的线程 主要逻辑: 1.当自己处于 LOOKING状态: 执行lookForLeader() 2.当自己处于OBSERVING状态: 建立一个Observer服务和leader进行同步 3.当自己处于LEADING时: 建立一个Leader服 阅读全文
摘要:
FastLeaderElection是zookeeper默认的选举算法,当peer处于ServerState.Looking状态时会执行FastLeaderElection.lookForLeader进行选主. 重要数据结构: 1.HashMap<Long, Vote> recvset: 本轮选举中 阅读全文
摘要:
Leader中重要的数据结构: 1.ConcurrentMap<Long, Proposal> outstandingProposals: 维护了待follower同步的proposal. 由 leader.propose负责插入, 由 leader.processAck负责移除. 2.Concur 阅读全文
摘要:
LeanerHandler是Leader接收Follower和Observer连接请求一个线程,当leader election结束后,follower或observer会主动连接leader,并向leader发送自己的 epoch 和 zxid,以供leader选出最大的epoch. zookee 阅读全文