分布式-Paxos

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

这里写图片描述

执行过程

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

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

约束条件

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

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

猜你喜欢

转载自blog.csdn.net/qq_16038125/article/details/81059609