Paxos算法

应用:Google Chubby、 MegaStore 、 Spanner、 Zoomkeeper

在paxos算法中的四种角色:

Proposer:提议者;

Acceptor:决策者;

Client:产生议题者;

Learner: 最终决策学习者

算法分为两阶段执行:

阶段1

Proposer:选择一个议案编号n, 向Acceptor的多数派发送编号也为n的prepare请求

Acceptor:如果接收到的prepare请求的编号n大于它已经回应的任何prepare请求,则它就回应已经批准的编号最高的的议案(如果有的话),并承诺不再回应任何编号小于n的议案。

 

阶段2

Proposer:如果接收到了多数Acceptor对prepare请求(编号为n)的回应,则它就向这些Acceptor发送议案{n , v}的accept请求,其中v是所有回应中编号最高的议案的的决议,或者是proposer选择的值,如果响应中不包含议案,那么它就是任意值。

Acceptor:如果收到了议案{ n, v}的accept请求,则它就批准该议案,除非它已经回应了一个编号大于n的议案

Proposer可以提出多个议案,只要它遵循上面的算法,它可以在任何时刻放弃一个议案,如果其他Proposer已经开始提出更高编号的议案,那么最好能放弃当前的议案。因此,如果Acceptor忽略一个prepare或accept请求(因为已经收到了更高编号的prepare请求),则它应该告知proposer放弃议案。这是一个性能优化,而不影响正确性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值