RAFT实现之State Persist

测试通过
RAFT实现之State Persist
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无法通过!

上一篇:react元素获取e时,点击target为空的现象


下一篇:JPA02