MIT6.824
  • 简介
  • Lecture 01 - Introduction
    • 1.1 分布式系统的驱动力和挑战(Drivens and Challenges)
    • 1.2 课程结构(Course Structure)
    • 1.3 分布式系统的抽象和实现工具(Abstraction and Implementation)
    • 1.4 可扩展性(Scalability)
    • 1.5 可用性(Availability)
    • 1.6 一致性(Consistency)
    • 1.7 MapReduce基本工作方式
    • 1.8 Map函数和Reduce函数
  • Lecture 03 - GFS
    • 3.1分布式存储系统的难点(Why Hard)
    • 3.2 错误的设计(Bad Design)
    • 3.3 GFS的设计目标
    • 3.4 GFS Master 节点
    • 3.5 GFS读文件(Read File)
    • 3.6 GFS写文件(Write File)(1)
    • 3.7 GFS写文件(Write File)(2)
    • 3.8 GFS的一致性
  • Lecture 04 - VMware FT
    • 4.1 复制(Replication)
    • 4.2 状态转移和复制状态机(State Transfer and Replicated State Machine)
    • 4.3 VMware FT 工作原理
    • 4.4 非确定性事件(Non-Deterministic Events)
    • 4.5 输出控制(Output Rule)
    • 4.6 重复输出(Duplicated Output)
    • 4.7 Test-and-Set 服务
  • Lecture 06 - Raft1
    • 6.1 脑裂(Split Brain)
    • 6.2 过半票决(Majority Vote)
    • 6.3 Raft 初探
    • 6.4 Log 同步时序
    • 6.5 日志(Raft Log)
    • 6.6 应用层接口
    • 6.7 Leader选举(Leader Election)
    • 6.8 选举定时器(Election Timer)
    • 6.9 可能的异常情况
  • Lecture 07 - Raft2
    • 7.1 日志恢复(Log Backup)
    • 7.2 选举约束(Election Restriction)
    • 7.3 快速恢复(Fast Backup)
    • 7.4 持久化(Persistence)
    • 7.5 日志快照(Log Snapshot)
    • 7.6 线性一致(Linearizability)
  • Lecture 08 - Zookeeper
    • 8.1 线性一致(Linearizability)(1)
    • 8.2 线性一致(Linearizability)(2)
    • 8.3 线性一致(Linearizability)(3)
    • 8.4 Zookeeper
    • 8.5 一致保证(Consistency Guarantees)
    • 8.6 同步操作(sync)
    • 8.7 就绪文件(Ready file/znode)
  • Lecture 09 - More Replication, CRAQ
    • 9.1 Zookeeper API
    • 9.2 使用Zookeeper实现计数器
    • 9.3 使用Zookeeper实现非扩展锁
    • 9.4 使用Zookeeper实现可扩展锁
    • 9.5 链复制(Chain Replication)
    • 9.6 链复制的故障恢复(Fail Recover)
    • 9.7 链复制的配置管理器(Configuration Manager)
  • Lecture 10 - Cloud Replicated DB, Aurora
    • 10.1 Aurora 背景历史
    • 10.2 故障可恢复事务(Crash Recoverable Transaction)
    • 10.3 关系型数据库(Amazon RDS)
    • 10.4 Aurora 初探
    • 10.5 Aurora存储服务器的容错目标(Fault-Tolerant Goals)
    • 10.6 Quorum 复制机制(Quorum Replication)
    • 10.7 Aurora读写存储服务器
    • 10.8 数据分片(Protection Group)
    • 10.9 只读数据库(Read-only Database)
  • Lecture 11 - Cache Consistency: Frangipani
    • 11.1 Frangipani 初探
    • 11.2 Frangipani的挑战(Challenges)
    • 11.3 Frangipani的锁服务(Lock Server)
    • 11.4 缓存一致性(Cache Coherence)
    • 11.5 原子性(Atomicity)
    • 11.6 Frangipani Log
    • 11.7 故障恢复(Crash Recovery)
    • 11.8 Frangipani总结
  • Lecture 12 - Distributed Transaction
    • 12.1 分布式事务初探(Distributed Transaction)
    • 12.2 并发控制(Concurrency Control)
    • 12.3 两阶段提交(Two-Phase Commit)
    • 12.4 故障恢复(Crash Recovery)
    • 12.5 总结
由 GitBook 提供支持
在本页
  • 如果
  • 声明

这有帮助吗?

简介

下一页Lecture 01 - Introduction

最后更新于1年前

这有帮助吗?

一直在断断续续的学习mit 6.824 分布式系统这门课程。分布式系统是现在计算机软件系统中不可避免的一种架构,了解分布式系统对于构建任何大型分布式应用,对于理解分布式程序的运行,对于优化分布式程序的运行环境都有一定的帮助。

mit6.824 这门课程可以说是明星课程了,主讲老师是Robert Morris,这个看起来平易近人的小老头,是个传奇人物【1】。能够听这样的传奇人物叨叨十几个小时,本身就是一种享受,更何况Robert教授能够一种理论联系实际的方式,将主流的分布式系统软件讲的浅显易懂。

美中不足的是,这门课程是全英文,甚至英文字幕都没有。对于国内的同学来说,如果英文没有足够好,很难较好的理解这门课程。因此我计划将这门课程翻译成中文文字版。我将在语句通顺的前提下,尽量还原课程的内容,希望可以帮助大家学习到这门课程。如果你的英语不是那么好,建议阅读完文字再去看视频相关的课程。

这门课程总共有20节课,4个实验,实验都是基于golang完成,课程配套了实验相关的测试用例,动手完成实验可以加深对于相关知识的理解。所有课程内容可以在【2】找到。

每一节课都在80分钟左右,大概会有6-9个知识点,我会按照独立的知识点将每节课拆分成6-9个小节。

对于文中出现的错别字,错误的描述,恳请大家发现后指出,我将改正。

【1】

【2】

如果

  • 你发现了翻译的错误,或者想把剩下几节课程的翻译补上,可以向关联的提交PR

  • 你觉得我做的还不错,可以关注我的,并给我一个点赞。

  • 还想学习其他IT相关知识,我还做了一些。

声明

此次翻译纯属个人爱好,如果涉及到任何版权行为,请联系我,我将删除内容。文中所有内容,与本人现在,之前或者将来的雇佣公司无关,本人保留自省的权利,也就是说你看到的内容也不一定代表本人最新的认知和观点。

https://zh.wikipedia.org/wiki/%E7%BD%97%E4%BC%AF%E7%89%B9%C2%B7%E6%B3%B0%E6%BD%98%C2%B7%E8%8E%AB%E9%87%8C%E6%96%AF
https://pdos.csail.mit.edu/6.824/schedule.html
github
知乎
其他的翻译