MIT6.824_2021_学习总结

145 阅读2分钟

MIT6.824_2021_学习总结

MIT6.824 2021 课程算是基本完结了

4 labs(含 chanllenge) + 14 paper notes:github.com/SwordHarry/…

觉得有帮助,希望能给个 star ⭐️

4 labs 主要是将自己的思路和淌过的坑记录一下,不涉及过多源码,希望能给大家一些帮助;

14 papers 主要是做 schedule 中的 Question 的解答,以及自己对 paper 内容的讨论和思考;

根据自己的时间安排和偏好,有一些论文没有去读,主要是一些拜占庭问题的论文,目前的重心还是在非拜占庭下的分布式系统

知识点

学完 MIT6.824 2021,感觉自己对分布式系统有了一个初步的认知,打开了新世界的大门,作为分布式系统的入门课,无疑是王牌课程;

但是确实是感觉学到了很多知识,但又没有一个总体的框架,感觉知识点都很零散;

在此,给出自己的知识总结的脉络;学完了 MIT6.824,我学到了:

分布式系统指标

  • CAP
  • BASE
  • ALPS

分布式一致性

  • 线性一致性
  • 顺序一致性
  • 因果一致性
  • FIFO 一致性
  • per-key 一致性
  • 最终一致性

分布式共识算法

  • Raft:首先是接触了 Raft,并实现了基础的功能点,体会到了魔鬼都在细节中
  • Paxos:分布式共识只有一个算法,那就是 Paxos
  • ZAB
  • CRAQ

事务

ACID

单机事务

  • 2PL
  • C2PL
  • S2PL
  • SS2PL

分布式事务

  • 2PC
  • 3PC

分布式系统

不能撇开业务场景和设计目标谈系统实现,每种系统的实现都是有其特定的取舍的

数据流式处理框架

  • Mapreduce
  • Spark

分布式文件系统

  • GFS

分布式协调系统

  • Zookeeper
  • etcd

分布式存储

  • Bigtable
  • Spanner
  • Memcache_Facebook
  • COPS
  • FaRM

拜占庭

  • 区块链:Merkle tree
  • 比特币:proof-of-work
  • 中间人攻击

思维导图

按照自己的理解做的思维导图

MIT6824_2021.png

参考

在完成课程的过程中,有参考很多网络的博客和文章,在此对博主们致以诚挚的感谢

其实我很希望我的疑问能得以解答,甚至是若我的笔记中出现错漏,能得以提示和更正