其他分享
首页 > 其他分享> > RAFT实现之State Persist

RAFT实现之State Persist

作者:互联网

测试通过
bc358b4791de99cc38bdfb22610f9d47.png
Raft 需要持久化存储的信息为

  1. current Term
  2. votedFor
  3. Log[]

只要这三个值有变化,就存储到磁盘

主要是以下四种情形
1. 成为candidate/follower时(currentTerm和votedFor变化)
2. follower投完票时(votedFor变化)
3. appendEntries RPC 更改log时(log更改)
4. Start()追加leader日志时(log更改)

一定要用go test -race 来测有没有竞争!

复制日志加速优化十分重要!!要不然2C的TestFigure8Unreliable2C无法通过!

标签:存储,log,更改,follower,State,Persist,RAFT,日志,votedFor
来源: https://www.cnblogs.com/skyliulu/p/12908920.html