2016年9月27日

Raft详解-启动后运行期间代码

摘要: Raft启动后运行期间主要执行两个函数;1、状态监测和转化 func (rf *Raft) Loop() { // Set out as a follower TimeOutConst := 0 for { TimeOutConst = ElectionTimeoutConst() if rf.st 阅读全文

posted @ 2016-09-27 18:09 Joker_88 阅读(1651) 评论(0) 推荐(0)

Raft协议详解-leader发送心跳代码go

摘要: 如果已经把最新的log更新了,那就多等一会,反之,很快就广播AppendEntries(也就是心跳消息) func (rf *Raft) LeaderState() { time.Sleep(10 * time.Millisecond) if rf.LastApplied == rf.CommitI 阅读全文

posted @ 2016-09-27 17:53 Joker_88 阅读(1050) 评论(0) 推荐(0)

Raft详解分析

摘要: 1、投票部分 一个candidate向所有其他的server发送RequesetVote RPC(具体格式见论文),每次从RPC的reply中累加voteCount,如果超过一半,这个candidate变成leader,把这个消息放到channel中,反之选举失败,变成follower对应go 代码 阅读全文

posted @ 2016-09-27 17:36 Joker_88 阅读(506) 评论(0) 推荐(1)

导航