@yfractal:MIT 的分布式系统课程相当有意思,对架构设计也很有帮助。我读过 DDIA,但现在已经把里面的内容忘得一干二净,而 MIT 分布式系统里的不少例子我还能记得。更有意思的是 MIT 的操作系统课,写起代码来能让你掉头发。
摘要
一位用户分享了对 MIT 分布式系统课程(6.5840/6.824)与 DDIA 的对比感受,并附上 2026 年春季课程表的链接,内容涵盖 MapReduce、GFS、Paxos 和 Raft,还有一场由 Go 语言之父 Russ Cox 带来的客座讲座。
查看缓存全文
缓存时间: 2026/10/16 00:18
MIT 的分布式系统课程非常有意思,对架构设计也很有帮助。我读过《Designing Data-Intensive Applications》(DDIA),但现在里面的内容我已经忘得差不多了,而 MIT 分布式系统课上的很多例子我却还记得。更有意思的是 MIT 的操作系统课程,写代码写到你掉头发。
6.5840 课程安排:2026 春季
来源:https://pdos.csail.mit.edu/6.824/schedule.html
2月2日 第一天上课
2月3日 LECTURE 1 (rtm): 引言 (https://pdos.csail.mit.edu/6.824/notes/l01.txt) 预习: 阅读 MapReduce (2004) (https://pdos.csail.mit.edu/6.824/papers/mapreduce.pdf) 布置作业: Lab 1:MapReduce (https://pdos.csail.mit.edu/6.824/labs/lab-mr.html)
2月4日
2月5日 LECTURE 2 (fk): RPC 与线程 (https://pdos.csail.mit.edu/6.824/notes/l-rpc.txt)、crawler.go (https://pdos.csail.mit.edu/6.824/notes/crawler.go)、kv.go (https://pdos.csail.mit.edu/6.824/notes/kv.go)、投票示例 (https://pdos.csail.mit.edu/6.824/notes/condvar.tar.gz) 预习: 完成在线 Go 教程 (http://tour.golang.org/)(常见问题 (https://pdos.csail.mit.edu/6.824/papers/tour-faq.txt))(问题 (https://pdos.csail.mit.edu/6.824/questions.html?q=q-gointro&lec=2))
2月6日
2月9日
2月10日 LECTURE 3 (fk): GFS (https://pdos.csail.mit.edu/6.824/notes/l-gfs.txt) 预习: 阅读 GFS (2003) (https://pdos.csail.mit.edu/6.824/papers/gfs.pdf)(常见问题 (https://pdos.csail.mit.edu/6.824/papers/gfs-faq.txt))(问题 (https://pdos.csail.mit.edu/6.824/questions.html?q=q-gfs&lec=3)) 布置作业: Lab 2:Key/Value 服务器 (https://pdos.csail.mit.edu/6.824/labs/lab-kvsrv1.html)
2月11日
2月12日 LECTURE 4 (rtm): Paxos (https://pdos.csail.mit.edu/6.824/notes/l-paxos.txt)、伪代码 (https://pdos.csail.mit.edu/6.824/notes/paxos-code.html)、常见问题 (https://pdos.csail.mit.edu/6.824/papers/paxos-faq.txt) 预习: 阅读 Paxos (https://pdos.csail.mit.edu/6.824/papers/paxos-simple.pdf)(问题 (https://pdos.csail.mit.edu/6.824/questions.html?q=q-paxos&lec=4))
2月13日 截止: Lab 1 (https://pdos.csail.mit.edu/6.824/labs/lab-mr.html)。所有实验均在晚上 11:59 前截止。
2月16日 总统日(放假)
2月17日 布置作业: Lab 3:Raft (https://pdos.csail.mit.edu/6.824/labs/lab-raft1.html) 周一课程安排
2月18日
2月19日 LECTURE 5(客座讲座): Google/Go 团队的 Russ Cox — Go 设计模式 (https://pdos.csail.mit.edu/6.824/notes/Go-MIT6824-2026.pdf) 预习: 阅读 The Go Programming Language and Environment (https://cacm.acm.org/magazines/2022/5/260357-the-go-programming-language-and-environment/fulltext)(常见问题 (https://pdos.csail.mit.edu/6.824/papers/go-faq.txt))(问题 (https://pdos.csail.mit.edu/6.824/questions.html?q=q-go&lec=5))
2月20日 截止: Lab 2 (https://pdos.csail.mit.edu/6.824/labs/lab-kvsrv1.html)
2月23日
2月24日 下雪停课,无讲座
2月25日
2月26日 LECTURE 6 (fk): 容错:Raft (1) (https://pdos.csail.mit.edu/6.824/notes/l-raft.txt) 预习: 阅读 Raft(扩展版)(2014),读到第 5 节结束 (https://pdos.csail.mit.edu/6.824/papers/raft-extended.pdf)(常见问题 (https://pdos.csail.mit.edu/6.824/papers/raft-faq.txt))(问题 (https://pdos.csail.mit.edu/6.824/questions.html?q=q-raft&lec=6))
2月27日 截止: Lab 3A (https://pdos.csail.mit.edu/6.824/labs/lab-raft1.html)
3月2日
3月3日 LECTURE 7 (fk): 容错:Raft (2) (https://pdos.csail.mit.edu/6.824/notes/l-raft2.txt) 预习: 阅读 Raft(扩展版)(2014),第 7 节至末尾(不包括第 6 节)(https://pdos.csail.mit.edu/6.824/papers/raft-extended.pdf)(常见问题 (https://pdos.csail.mit.edu/6.824/papers/raft2-faq.txt))(问题 (https://pdos.csail.mit.edu/6.824/questions.html?q=q-raft2&lec=7)) 布置作业: Final Project (https://pdos.csail.mit.edu/6.824/project.html)
3月4日
3月5日 LECTURE 8 (rtm): 一致性与线性一致性 (https://pdos.csail.mit.edu/6.824/notes/l-linearizability.txt) 预习: Linearizability (https://pdos.csail.mit.edu/6.824/papers/p463-herlihy.pdf)(仅阅读到 3.1 节)(常见问题 (https://pdos.csail.mit.edu/6.824/papers/linearizability-faq.txt))(问题 (https://pdos.csail.mit.edu/6.824/questions.html?q=q-linear&lec=8))
3月6日 截止: Lab 3B (https://pdos.csail.mit.edu/6.824/labs/lab-raft1.html) 加课截止日
3月9日
3月10日 LECTURE 9 (fk): ZooKeeper (https://pdos.csail.mit.edu/6.824/notes/l-zookeeper.txt) 预习: 阅读 ZooKeeper (2010) (https://pdos.csail.mit.edu/6.824/papers/zookeeper.pdf)(常见问题 (https://pdos.csail.mit.edu/6.824/papers/zookeeper-faq.txt))(问题 (https://pdos.csail.mit.edu/6.824/questions.html?q=q-zookeeper&lec=9)) 布置作业: Lab 4:KV Raft (https://pdos.csail.mit.edu/6.824/labs/lab-kvraft1.html)
3月11日
3月12日 LECTURE 10 (fk): Lab 3A+B 答疑 (https://pdos.csail.mit.edu/6.824/notes/l-raft-QA.txt) 预习:(问题 (https://pdos.csail.mit.edu/6.824/questions.html?q=q-QAlab&lec=10))
3月13日 截止: Lab 3C (https://pdos.csail.mit.edu/6.824/labs/lab-raft1.html)
3月16日
3月17日 LECTURE 11 (rtm): 分布式事务 (https://pdos.csail.mit.edu/6.824/notes/l-2pc.txt) 预习: 阅读 6.033 第 9 章 (https://ocw.mit.edu/resources/res-6-004-principles-of-computer-system-design-an-introduction-spring-2009/online-textbook/),仅 9.1.5、9.1.6、9.5.2、9.5.3、9.6.3 节(常见问题 (https://pdos.csail.mit.edu/6.824/papers/chapter9-faq.txt))(问题 (https://pdos.csail.mit.edu/6.824/questions.html?q=q-chapter9&lec=11))
3月18日
3月19日 期中考试,Walker (50-340),1:00 至 2:30 携带材料: 开卷,可带笔记、笔记本电脑。 范围: 第 1 至 11 讲,Lab 1、2 及 3A-C 历年试卷
3月20日 截止: 项目提案 (https://pdos.csail.mit.edu/6.824/project.html)(如需做项目)
3月23日 春假
3月24日 春假
3月25日 春假
3月26日 春假
3月27日 春假
3月30日
3月31日 LECTURE 12 (rtm): Spanner (https://pdos.csail.mit.edu/6.824/notes/l-spanner.txt) 预习: 阅读 Spanner (2012) (https://pdos.csail.mit.edu/6.824/papers/spanner.pdf)(常见问题 (https://pdos.csail.mit.edu/6.824/papers/spanner-faq.txt))(问题 (https://pdos.csail.mit.edu/6.824/questions.html?q=q-spanner&lec=12))
4月1日
4月2日 LECTURE 13 (fk): 链式复制 (https://pdos.csail.mit.edu/6.824/notes/l-cr.txt) 预习: 阅读 CR (2004) (https://pdos.csail.mit.edu/6.824/papers/cr-osdi04.pdf)(常见问题 (https://pdos.csail.mit.edu/6.824/papers/cr-faq.txt))(问题 (https://pdos.csail.mit.edu/6.824/questions.html?q=q-cr&lec=13))
4月3日 截止: Lab 3D (https://pdos.csail.mit.edu/6.824/labs/lab-raft1.html)
4月6日
4月7日 LECTURE 14 (fk): 乐观并发控制 (https://pdos.csail.mit.edu/6.824/notes/l-farm.txt) 预习: 阅读 FaRM (2015) (https://pdos.csail.mit.edu/6.824/papers/farm-2015.pdf)(常见问题 (https://pdos.csail.mit.edu/6.824/papers/farm-faq.txt))(问题 (https://pdos.csail.mit.edu/6.824/questions.html?q=q-farm&lec=14)) 布置作业: Lab 5:分片 KV (https://pdos.csail.mit.edu/6.824/labs/lab-shard1.html)
4月8日
4月9日 LECTURE 15 (Upamanyu Sharma): 分布式系统的形式化验证 (https://pdos.csail.mit.edu/6.824/notes/l-ironfleet.txt) 预习: 阅读 IronFleet (2015) (https://pdos.csail.mit.edu/6.824/papers/ironfleet.pdf)(问题 (https://pdos.csail.mit.edu/6.824/questions.html?q=q-ironfleet&lec=15))
4月10日 截止: Lab 4A (https://pdos.csail.mit.edu/6.824/labs/lab-kvraft1.html)
4月13日
4月14日 Hack Day,无讲座
4月15日
4月16日 LECTURE 16 (rtm): 缓存一致性:Facebook 的 Memcached (https://pdos.csail.mit.edu/6.824/notes/l-memcached.txt) 预习: 阅读 Memcached at Facebook (2013) (https://pdos.csail.mit.edu/6.824/papers/memcache-fb.pdf)(常见问题 (https://pdos.csail.mit.edu/6.824/papers/memcache-faq.txt))(问题 (https://pdos.csail.mit.edu/6.824/questions.html?q=q-memcached&lec=16))
4月17日 截止: Lab 4B+C (https://pdos.csail.mit.edu/6.824/labs/lab-kvraft1.html)
4月20日 爱国者日(放假)
4月21日 LECTURE 17 (Marc Brooker, zoom 远程): AWS Lambda (https://pdos.csail.mit.edu/6.824/notes/mbrooker_cs_slides_2026.pdf) 预习: 阅读 On-demand Container Loading (2023) (https://pdos.csail.mit.edu/6.824/papers/atc23-brooker.pdf)(问题 (https://pdos.csail.mit.edu/6.824/questions.html?q=q-lambda&lec=17)) 退课截止日
4月22日
4月23日 LECTURE 18 (fk): Ray (https://pdos.csail.mit.edu/6.824/notes/l-ray.txt) 预习: 阅读 Ray (2021) (https://pdos.csail.mit.edu/6.824/papers/ray.pdf)(常见问题 (https://pdos.csail.mit.edu/6.824/papers/ray-faq.txt))(问题 (https://pdos.csail.mit.edu/6.824/questions.html?q=q-ray&lec=18))
4月24日
4月27日
4月28日 LECTURE 19 (rtm): 分叉一致性,SUNDR (https://pdos.csail.mit.edu/6.824/notes/l-sundr.txt) 预习: 阅读 SUNDR (2004) (https://pdos.csail.mit.edu/6.824/papers/li-sundr.pdf)(读到 3.3.2 节末尾)(常见问题 (https://pdos.csail.mit.edu/6.824/papers/sundr-faq.txt))(问题 (https://pdos.csail.mit.edu/6.824/questions.html?q=q-sundr&lec=19))
4月29日 截止: Lab 5A (https://pdos.csail.mit.edu/6.824/labs/lab-shard1.html)
4月30日 LECTURE 20 (rtm): 对等网络:Bitcoin (https://pdos.csail.mit.edu/6.824/notes/l-bitcoin.txt) 预习: 阅读 Bitcoin (2008) (https://pdos.csail.mit.edu/6.824/papers/bitcoin.pdf) 以及简介(常见问题 (https://pdos.csail.mit.edu/6.824/papers/bitcoin-faq.txt))(问题 (https://pdos.csail.mit.edu/6.824/questions.html?q=q-bitcoin&lec=20))
5月1日
5月4日
5月5日 Hack Day,无讲座
5月6日
5月7日 LECTURE 21 (Derek Leung): 拜占庭容错 (https://pdos.csail.mit.edu/6.824/notes/l-bft.txt)、幻灯片 预习: 阅读 Practical BFT (1999) (https://pdos.csail.mit.edu/6.824/papers/castro-practicalbft.pdf)(常见问题 (https://pdos.csail.mit.edu/6.824/papers/bft-faq.txt))(问题 (https://pdos.csail.mit.edu/6.824/questions.html?q=q-bft&lec=21))
5月8日 截止: Lab 5B+C+D (https://pdos.csail.mit.edu/6.824/labs/lab-shard1.html) 截止: 项目报告和代码 (https://pdos.csail.mit.edu/6.824/project.html)
5月11日
5月12日 LECTURE 22: 项目演示 最后一天上课
5月13日
5月14日
5月15日 期末考试(上午 9:00 - 11:00,34-101) 携带材料: 开卷,可带笔记、笔记本电脑。 范围: 第 12 至 21 讲,Lab 3D、4A-C 历年试卷
Vivek Galatage (@vivekgalatage): 我经常推荐的课程:MIT 的 Performance Engineering of Software Systems
相似文章
@vivekgalatage: Kyle Kingsbury 的分布式系统导论 https://github.com/aphyr/distsys-class…
Kyle Kingsbury 分享了一份免费的 16-32 小时分布式系统基础课程大纲,涵盖理论、算法和实际生产问题,并通过 Maelstrom 提供可选的实验练习。
@vivekgalatage: 最优秀的课程之一 https://courses.csail.mit.edu/6.851/spring21/
麻省理工学院 Erik Demaine 教授的《高级数据结构》课程(6.851)已完全在线开放,包含视频讲座和协作式问题求解。
@GergelyOrosz:过去十年,构建大型分布式软件系统的底层逻辑发生了哪些变化?与……的对话
Martin Kleppmann 在其著作《Designing Data-Intensive Applications》第二版更新发布之际,探讨了过去十年构建大型分布式系统的底层逻辑如何演进。
@tom_doerr:基于畅销指南的系统设计面试笔记 https://github.com/liquidslr/system-design-notes…
一个 GitHub 仓库,包含基于 Alex Xu 畅销书的综合系统设计面试笔记,涵盖扩展性、一致性哈希和分布式系统等主题。
@mranthonymensah: 请查看我们课程网站上的阅读清单!
推广斯坦福大学CS153前沿系统课程阅读清单的推文,该课程邀请行业领袖演讲,并设有一个关于提升个人能力的项目。