MIT 6.824

分布式系统

MIT 6.824 聚焦分布式系统设计中的通信、复制、容错、一致性和分布式存储,是理解大规模系统的重要课程。

Learning Path

从容错复制理解分布式系统。

建议先掌握 RPC 和并发模型,再进入复制、一致性和分布式存储。

通信与并发

理解 RPC、线程、锁和分布式调用失败模型。

复制与一致性

重点关注 Raft、日志复制、线性一致性和容错。

分布式存储

把分片、事务和容灾组合成可扩展的数据服务。

课程档案 / 09

在节点失败、网络延迟和并发请求中维持正确性。

MIT 6.824 通过一系列实验构建复制状态机、分布式键值服务和分片系统。课程重点不是记住架构名称,而是理解失败模型、一致性条件和工程权衡。

先修准备

需要系统、网络与并发编程经验

建议先完成操作系统或网络课程,熟悉线程、锁、RPC 和故障排查。实验通常使用 Go。

  • 能够编写并发程序
  • 理解网络通信可能失败或延迟
  • 愿意通过日志重建事件顺序
调试策略

先定义安全性,再处理活性

分布式错误具有非确定性。应记录状态转换、任期和日志索引,用可重复测试验证不变量。

  • 区分消息丢失、节点重启和网络分区
  • 避免依赖固定时间等待
  • 用随机测试暴露竞态条件

内容地图

阶段 01通信与失败模型

RPC、线程、锁、超时、重试和幂等性。

阶段 02复制与一致性

主从复制、Raft、日志复制、选举和线性一致性。

阶段 03分片与分布式存储

键值服务、配置变更、分片迁移、事务和容灾。

完成标准

能够说明系统在不同故障下仍然满足哪些正确性条件。

学习者应能实现并调试复制状态机,分析一致性与可用性的权衡,并通过事件日志解释一次分布式故障。