首页 > 其他 > 详细

Raft-6.824-lab2

时间:2019-11-13 16:53:44      阅读:193      评论:0      收藏:0      [点我收藏+]

通过6.824的lab2学习raft,虽然都是抄的

Raft : 分布式的一致性算法

Raft动画 http://thesecretlivesofdata.com/raft/     // 很棒

 

主要解决 分布式系统下共识的问题

  每个节点有三个状态: Follower(追随者), Candidate(候选人), Leader(领导者)

  两种RPC:RequestVote(请求投票),AppendEntries(追加log,作为心跳包)

  以及两个超时设置来控制选举:election timeout(选举超时,会随机在150~300ms),heartbeat time(心跳时间)

  开始所有节点都在Follower状态,开始等待选举超时,对于先超时的节点会成为候选人,给自己发送投票同时会发送请求投票给其他节点,当节点没有给其他节点投票过时,就会投票给候选人,并且重置选举超时时间。当某个候选人获得大多数投票,就会成为领导者。领导者会发送日志给其他追随者以心跳时间,追随者会响应追加的日志,领导者发现过半追随者已经获得某个日志以后,本个日志就可以交给状态机来执行。

 

 难点就是理解这张图,

技术分享图片

 

技术分享图片

 

参考资料:

 Raft论文 英文:https://pdos.csail.mit.edu/6.824/papers/raft-extended.pdf       

                中文:https://github.com/maemual/raft-zh_cn/blob/master/raft-zh_cn.md

参数讲解:https://www.cnblogs.com/lushilin/p/9268969.html

参考其中代码:https://blog.csdn.net/qq_42397248/article/details/100064450

Raft-6.824-lab2

原文:https://www.cnblogs.com/lmhyhblog/p/11850177.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!