美文网首页
raft协议草结

raft协议草结

作者: 飞翃荷兰人 | 来源:发表于2020-09-05 17:24 被阅读0次

    看了一些raft的文章,这篇讲的感觉比较清楚,首先推荐去看这篇:一文搞懂raft算法,这个动画演示可以帮助你理解raft:raft演示

    raft协议讲的就是一个分布式的系统如何处理达成一致的:

    • 选举出一个leader,系统数据以leader为准。
    • leader提交数据时分为两阶段提交,一阶段预提交成功后(超过半数节点预提交成功,没成功的会一直发送同步请求),将major日志提交,之后返回客户端写成功,之后进行follower的二阶段更新。
    • leader转换成follower的条件是收到来自更高term的消息,这种情况一般出现在网络分割的情况,被隔离的网络自己重新选举了新的leader,在恢复后就会重新进行选举。
      如何选举:
      每个raft节点有三种状态,leader,follower,candidate,最开始没有leader的时候,每个都是follower,进行一次投票后变为candidate,等待下一轮投票(如果本轮没有选出leader),每轮投票称为一轮term。
      一个完整的提交流程:
    • leader append log entry
    • leader issue AppendEntries RPC in parallel
    • leader wait for majority response
    • leader apply entry to state machine
    • leader reply to client
    • leader notify follower apply log

    相关文章

      网友评论

          本文标题:raft协议草结

          本文链接:https://www.haomeiwen.com/subject/xdsfektx.html