【【MIT 6.824 Distributed Systems Spring 2020 分布式系统 中文翻译版合集】-哔哩哔哩】 https://b23.tv/UF1OM20
GFS中文版:https://chunlife.top/2020/04/18/The-Google-File-System%E4%B8%AD%E6%96%87%E7%89%88/
MapReduce中文版:https://chunlife.top/2020/04/18/Google-MapReduce%E4%B8%AD%E6%96%87%E7%89%88/
如何的才能更好地学习 MIT6.824 分布式系统课程?
https://www.zhihu.com/question/29597104
lad1:https://zhuanlan.zhihu.com/p/246187333
lad2:https://zhuanlan.zhihu.com/p/248686289
官网:https://pdos.csail.mit.edu/6.824/schedule.html
文档:https://mit-public-courses-cn-translatio.gitbook.io/
- Lab1 - MapReduce (实现MapReduce)
- Lab2 - Raft (实现Raft)
- Lab3 - KV Raft (在Lab2的基础上实现分布式KV存储)
- Lab4 - Sharded KV/Final project
Lab1着重于熟悉Go语言;Lab2主要在于阅读raft论文,严格根据论文的细节实现分布式协议;Lab3需要自己设计raft论文中提及但是没有详细描述的部分;Lab4则完全需要自己设计整个sharding过程。
关于Lab3:相比于Lab2(严格按照paper来实现,方向明确),Lab3中的k/v service和log compaction都需要自己设计,paper中并没有详细的指导,难度大了很多。重构了很多次,花了好多时间debug。实现过程中,有时对自己的设计没有把握,担心忽略了edge case,在实现细节上也走了一些弯路,浪费了挺多时间
https://refactoringguru.cn/design-patterns/singleton/go/example
Go 单例模式讲解和代码示例