为什么多paxos被称为多paxos?

时间:2014-10-27 13:54:06

标签: algorithm distributed paxos

为什么multi-paxos被称为多个paxos?我看不出它是多么“多”。

2 个答案:

答案 0 :(得分:12)

关于多个轮算法,以最小的消息传递来同意来自稳定领导者的顺序请求。最初没有公认的领导者,您必须运行至少一轮基本Paxos,候选领导者发送准备请求(使用论文Paxos Made Simple的术语)。多数人的积极回应证实它是领导者。然后它会发送该轮的接受消息,如果您获得大多数接受确认,则会成功终止。它不是再次启动准备请求,而是可以立即移动到一个疾驰模式,当它听到前一个接受请求的大多数确认时,它会发送连续的接受消息。这是非常高效的,因为它需要最少数量的消息,但它只发生在来自稳定领导者的多个轮次中。这可能会被领导者崩溃,否则网络故障会导致跟随者在一个健康的领导者身上超时。然后,它将发布自己的准备请求作为领导力挑战,通过基本的Paxos规则解决。只要您获得稳定的领导者,它就可以升级到多Paxos疾驰模式。

答案 1 :(得分:5)

paxos 中有两个阶段,需要交换许多消息。为了优化 paxos 协议,我们尝试仅在需要时运行阶段。第一阶段的谈话都是关于“领导人选举”。为了获取日志中的每个条目(状态机复制问题),没有必要一次又一次地运行此阶段。我们只在领导者失败时运行它。这是为“日志”选择领导者的时间,而不仅仅是日志中的每个条目。 Multi-paxos 意味着同一个领导者正在处理多个客户请求,而不是一次又一次地运行领导者选举。