校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > 开源框架 > paxos
题目

假设 Multi-Paxos 集群选出了一个节点作为 Leader,而且没有其它 Leader。此外,假设该节点继续担任一段时间的 Leader,为日志 chosen 了很多命令,并且在这期间依然没有其它节点试图担任 Leader。
a. 在此期间,该节点最少要发送多少轮 Prepare RPC?给出解释,且尽可能精确。
b. 在此期间,该节点最多要发送多少次 Prepare RPC?给出解释,且尽可能精确。

解答

a. 最少只发送 1 轮 Prepare RPC,如果多数派 Prepare 都立即返回了具有 noMoreAccepted=true 的响应。

b. 最多是:Leader 节点上每有一个未 chosen 但是 Acceptor 已经接受的日志记录,就会有一轮 Prepare RPC。这发生在如果每次 Leader 为其没有 chosen 的日志发送 Prepare 请求,都发现有一个 Acceptor 已经接受了该提案值,那它就会在该条目位置采用这个提案值,然后继续尝试下一个日志条目。这样就会发生最多的轮次。

C 2条回复 评论
简书

真棒!茅塞顿开的感觉。

发表于 2022-08-09 23:00:00
0 0
维他狂热爱好者

准备三刷这节课!

发表于 2022-07-30 22:00:00
0 0