这是MIT 6.824分布式系统的课后实验的代码实现。
实验的目录结构为:
└─src
├─kvraft
├─labgob
├─labrpc
├─main // 主函数,开启程序、测试结果
├─models
├─mr // mapreduce的主程序
├─mrapps
├─porcupine
├─raft // raft的主程序
├─shardkv
└─shardmaster
实验主要分为4个部分:
-
Lab 1: MapReduce
-
Lab 2: Raft
-
Lab 3: Fault-tolerant Key/Value Service
-
Lab 4: Sharded Key/Value Service
以上的实验是循序渐进的,所以最好是一个一个按顺序完成。
本实验涉及的文件目录主要包含:
main ## mapreduce程序调用入口,脚本测试
mr ## mapreduce的主程序
mrapps ## 写好的map、reduce函数,用于测试
具体的解释,参考MapReduce实验详情