为什么Paxos领袖选举没有使用Paxos?

时间:2014-05-22 05:49:03

标签: protocols distributed distributed-transactions paxos consensus

以下问题旨在认真而不是轻浮。我缺乏分布式系统的经验,但我确实理解Basic Paxos如何工作以及为什么领导者选择是有用的。不幸的是,我的理解还不够深入,无法理解下面的问题。

在论文Consensus on Transaction Commit,第8页(链接PDF的第11页)中,我们有以下声明。

  

选择独特的领导者相当于解决共识   问题

如果这个陈述是真的,并且Paxos的目的是达成共识,为什么Paxos本身并不常用于领导者选举?

此外,同一篇论文赞同领导者选举算法描述的Stable Leader Election论文。

如果这两个问题是相同的,并且同一篇论文认可了不同的领导者选举算法,为什么不是用于解决一般共识问题的其他算法而不是Paxos

2 个答案:

答案 0 :(得分:5)

Paxos 用于领导者选举。在具有领导者的paxos变体中(例如,Multi-paxos,Raft),领导者是由Paxos实例选择其数据的节点,或者在其自己的过渡中选择领导者(有些人使用术语< em> Paxos实例;我更倾向于将共识算法视为在分布式有限状态机中选择过渡。)

所有正确的共识算法都可以映射到基本Paxos ,但每个算法都针对不同的事情进行了优化。这些包括Multi Paxos,Raft,ZAB,Vertical Paxos,Cheap Paxos和Chain Replication。 (后三种 - 所有共识算法只需要failure_tolerance+1个节点 - 也需要另一个共识系统进行重新配置。但我离题了。)

稳定的领导者选举 论文不仅仅是Paxos:包括故障检测器(从粗略一瞥,它&#39;基于租赁的领导模式。)因此,它比Basic Paxos更贵。

在我认为需要领导者的系统中,故障检测器将利用共识协议来废除/选举领导者,否则它们是完全独立的协议。

答案 1 :(得分:0)

我没有阅读你上面提到的论文,但我在学习期间已经了解到,Paxos实际上主要用于选举领导者,因为算法对于每个消息的分类过多。你应该将它用于领导者选举的原因是,它是100%的分区容忍度。我所知道的所有其他算法都不是。 - 但可能还有更多符合此标准且我不知道的事情。

我会阅读这些文章,但我从稳定的领导者选举文件中得到的是,它只是一个概念。他们首先介绍它是什么,然后算法如何做到这一点。当他们介绍算法时,他们再次参考Paxos。 (但那只是通过纸张扫描,仅此而已)。