用于达成共识性问题,即对多个节点产生的值,该算法能保证只选出唯一一个值。
主要有三类节点:
提议者(Proposer):提议一个值;
接受者(Acceptor):对每个提议进行投票;
告知者(Learner):被告知投票的结果,不参与投票过程。

分布式-Paxos

执行过程

规定一个提议包含两个字段:[n, v],其中 n 为序号(具有唯一性),v 为提议值。
下图演示了两个 Proposer 和三个 Acceptor 的系统中运行该算法的初始过程,每个
Proposer 都会向所有 Acceptor 发送提议请求。

分布式-Paxos

分布式-Paxos

分布式-Paxos

分布式-Paxos

分布式-Paxos

约束条件

  1. 正确性
    指只有一个提议值会生效。
    因为 Paxos 协议要求每个生效的提议被多数 Acceptor 接收,并且 Acceptor 不会接受两个不同的提议,因此可以保证正确性。

  2. 可终止性
    指最后总会有一个提议生效。
    Paxos 协议能够让 Proposer 发送的提议朝着能被大多数 Acceptor 接受的那个提议靠拢,因此能够保证可终止性

相关文章:

  • 2021-08-27
  • 2021-12-26
  • 2021-11-17
  • 2021-08-31
  • 2021-11-28
  • 2022-01-24
  • 2021-05-24
猜你喜欢
  • 2021-06-03
  • 2021-09-29
  • 2021-10-10
  • 2021-05-21
  • 2022-01-12
  • 2021-12-28
  • 2021-12-25
相关资源
相似解决方案