概念与定义
先明确一些定义:
- Quorum:在 Classic Paxos 中一直通过多数派(Majority)来保证算法的正确性,对多数派再进一步抽象化,称为“Quorum”,要求任意两个 Quorum 之间有交集(从而间接表达了 majority 的含义)。
- Round:在 Classic Paxos 中,提议者每次提案都用一个全序的编号表示,如果执行顺利,该编号的 Proposal 在经历 Phase1,Phase2 后最终会执行成功。在 Fast Paxos 称这个带编号的 Proposal 的执行过程为“Round”。
- i-Quorum:在 Classic Paxos 执行过程中,一般不会明确区分每次 Round 执行的 Quorum,虽然也可以为每个 Round 指定一个 Quorum。在 Fast Paxos 中会通过 i-Quorum 明确指定 Round i 需要的 Quorum。
- Classic Round:执行 Classic Paxos 的 Round 称为 Classic Round。
- Fast Round:如果领导者发送了 Any 消息,则认为后续通信是一个快速回合;若领导者未发送 Any 消息,还是跟之前一样通信,则后续行为仍然是 Classic Round。根据 Lamport 描述,Classic Round 和快速回合可通过 Round Number 进行加以区分。