MIT的6.824课程为分布式系统,共有四个lab,目前只做了三个。语言为golang。此博客记录实验笔记。根据课程要求,不会放出源代码。
实验包括:
Lab 1 MapReduce
Lab 2 Raft
性能performance的需求产生:
scable可扩展性
容错fault tolerance的需求产生:
availability可用性,即部分failure整体仍然能工作
recoverability
可永久性存储
replication
交叉?需求产生:
consistency。由于有上两个需求,所以会有多个副本,所以产生了这个需求
为什么用go:
- 线程安全
- 垃圾回收类型语言,不用担心回收