MapReduce
-
2021 MIT 6.824 札记
这篇文章总结了作者完成 2021 MIT 6.824 四个实验过程中的设计思路和踩坑经验,内容覆盖 MapReduce、Raft、KV Raft 和 Sharded KV。正文先说明 Lab 1 中 task 分发与超时重试的实现方式,再重点展开 Lab 2 里 Raft 的后台线程、超时控制、日志同步、持久化和 snapshot 处理,以及常见的死锁、过期回复和 Figure 8 等关键问题;后半部分继续介绍基于 Raft 的 KV 服务如何做请求去重、日志压缩,以及在分片 KV 场景下如何处理 shard controller、配置变更和 shard 迁移。