猫不急

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

http://thesecretlivesofdata.com/raft/

 

 

选举 

角色:  leader 领导者 Follower跟随者  Candidate候选者

如果跟随者在一定时间内,么有收到领导者的消息(选举超时,选举超时设置为150ms到300毫秒之间),则自身将变为候选者,向其他节点发送投票请求,如果获得了多数票,则将自身变为领导者,同时向跟随者发送附加条目信息。

消息发送周期为:heartbeat timeout. 跟随者会响应每个附加条目信息。

任期会持续到跟随者不再响应,并成为后续者为止。

 

如果出现选举冲突,将重新发起选举,因为选举超时时间为随机的,所以

 

事物操作日志同步

领导者接收到客户端提交的请求时,先记录请求日志,并将请求转发给跟随者,如果半数跟随者响应了该请求,
则领导者可以进行提交,并反馈回客户端。并在此发送确认请求给跟随者 。

 

分区状态下,追随者不能达到半数,这领导者不能回应客户端,数据处于提交状态。

如果发现有比自己具有更高的选举任期的,将自己下台。并回滚自己的状态。

 

posted on 2019-04-30 11:17  猫不急  阅读(180)  评论(0)    收藏  举报