RAFT实现之State Persist
作者:互联网
测试通过
Raft 需要持久化存储的信息为
- current Term
- votedFor
- 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