MIT 6.824 Raft Lab
Lab2
-
Part 2A: leader election
-
Part 2B: log
- Implement the log replication function of Leader and Follower.
-
Part 2C: persistence
- Implement persistent storage and reading of Raft's key states.
-
Part 2D: log compaction
- Implement functions such as log snapshot compression and installation snapshot.
Lab3
- Part 3A
- 正常场景,没有消息丢失和节点失效
- 正常场景,没有消息丢失和节点失效
- Server层需要处理Raft协商开始之后,commit之前leader发生变化的情况。由client向其他server发起重试。
- Part 3B:快照
- Apply之后需要判断log长度是否过长,过长则要执行snapshot
- Server启动时执行restore流程,从snapshot中恢复出相关数据
- Apply收到的是snapshot消息,则也要执行restore流程
...