我在做完课程 6.824: Distributed Systems Spring 2021 lab1-lab3的之后,实现了一个真正可持久化的Fault-tolerant Key/Value Service。 这个系统主要涉及lab2、lab3的内容,因此在这个过程中,我尝试对raft和server做了许多’优化‘。为了确保这些’优化‘不会出现bug, 我将优化也同样地应用在了lab上,并使用测试脚本进行了多次测试。 能够稳定通过测试的’优化‘得以保留,其他的则予以淘汰。
我会在这里分享关于lab2、lab3的一些思考,并提供lab实现思路。为了防止抄袭代码从而影响课程的学生,我只会结合部分代码进行讲解, 不提供完整的lab代码!!!
如果你对这两个实验有自己的思考或者思路存在一定的bug等,欢迎加入讨论!