美文网首页
什么是paxos 协议???

什么是paxos 协议???

作者: 三石_5f43 | 来源:发表于2023-01-16 17:18 被阅读0次

    paxos 算法总结

    paxos 共识算法的三个角色

    • proposers 提案者
      • 向接受者(acceptor) 提交提案和预请求,等待大多数接受者响应。
      • 如果大多数接受者(acceptor)响应同意提案, 则将会响应同意的提案值,如果大多数提案者拒绝,则放弃并终止,重新开始流程。
      • 如果大多数接受者(acceptor)同意,提案者 (proposer) 之后会发送一个提案编号n 值为 v 的一个commit 消息。
      • 如果大多数接受者(acceptor)接受了 commit 消息,则协议轮完成。
    • Acceptors 接受者

      • 接受提案并与准备同意的最大的提案编号进行比较。
      • 如果提案编号n 较大则接受,否则拒绝。
      • 如果后续提交消息的值与先前接受的提案值相同,并且其序列号是商定的最高数字,则接受后续提交消息。
    • Leaner 学习者

      • 发现大多数接受者已经接受了提案者的提案。
      • 选择一个主 leaner 并将选择的提案值通过网络共享给其他leaner.

    paxos 算法的条件

    • 接受者必须接受他们得到的第一个提案值。
    • 若一个提案值 v 被选中, 那么每一个被选中的较高提案值的提案都有 v 值。

    在网络上的通信是异步的,因此可能存在某些接受者没有接受到选择的提案值, 只要不违反上述两个条件就可以。

    提案者提出某些限制的条件连通提案值一起发送给接受者(acceptors) 集合。
    准备阶段的预请求(prepare phase) 两个主要的请求:

    • 保证不接受比n 小的提案, (n 是新的提案编号值)
    • 响应接受者已经接受到的小于n 的最大值的提案。

    兰伯特表示:
    如果提案者(proposers)从大多数接受者(acceptor) 接受到响应吗,那么他就可以发起一个编号为n ,值为 v 的一个提案,
    (v 是所有接受者响应编号中最大编号的值, 或者如果响应者报告没有提案的话,是被提案者任意选中的一个值)

    相关文章

      网友评论

          本文标题:什么是paxos 协议???

          本文链接:https://www.haomeiwen.com/subject/vtyacdtx.html