前言
做2020的MIT6.824,部分完成了实验 Lab4B(challenge部分没有写), 通过了测试,对于之前的Raft实现的实验请参考Lab 2A, Lab 2B 和 Lab 2C 和 Lab 3A 和 Lab 3B 以及Lab 4A
Lab4需要实现一个分区的kv存储服务,其中Lab4A实现ShardMaster负责维护分区配置信息;这个Lab负责ShardKv,分别存储零至多个分区的数据,其中难点就是怎么使用多个raft实现分区储存服务。本文主要讲一下实现的思路,我也是参考了网上的很多做法,其中总体思路跟这位博主非常相似,这位博主提供比较完整的代码实现,这里就不放代码了