本文主要是介绍MIT6.824 lab3 KVRaft实验分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本实验中,不同clientId的用户会向当前认为是leader的kvServer发送请求
集群中有多个kvServer,每个绑定了一个Raft
集群中的kvServer会不断执行指令更新自身状态,也因此在写代码时要对ops的来源进行区分
来源1:client认为当前kvServer是leader节点,直接发送RPC请求过来执行指令,因此kvServer根据指令更新自身状态时也需要对RPC请求进行响应。
来源2:当前kvServer不是leader节点,其获得的日志来自于Raft层分流过来的指令
此时无需对RPC响应,直接根据情况进行执行即可
另外值得注意的是,执行过程中kvServer也需要记录指令号和发起请求的客户号,以避免重复执行
这篇关于MIT6.824 lab3 KVRaft实验分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!