Paxos简述

Paxos

paxos是一种基于消息通知的高容错性的分布式一致性协议。

 

三种角色

Proposer:提出提案

Acceptor:批准提案

Learner: 获取提案

 

算法描述

选取提案过程描述

选取提案的过程类似两阶段提交,第一阶段Proposer向Acceptor发送prepare请求,Acceptor给出相应响应;第二阶段Proposer向Acceptor发送Accept请求,Acceptor批准提案,可能出现的场景如图:

为了满足即使一个提案也可以批准提案,约定条件:

P1:Acceptor必须批准它接收到的第一个提案;

为了确保最终选定的value值是唯一的,约定条件:

P2:如果[M0,V0]提案被选定了,那么所有比编号M0更高的,且被选定的提案,其Value值也必须是V0.

 

为了满足P2,对Proposer和Acceptor约定如下:

Acceptor:如果提案[M0,V0]被选定了,那么所有比编号M0更高的,且被Acceptor批准的提案,其Value值也是V0.

Proposer:如果一个提案[M0,VO]被选定后,那么之后任何Proposer产生的编号更高的提案,其Value值都是V0.

问题及解决方案

由上述过程可知,如果有两个Proposer依次提出一系列编号递增的议案,最终一致在循环,无法选定。解决这个问题的方案是选择一个主Proposer,并规定只有主Proposer可以提出议案。关于这个选主Proposer的方案,个人存在疑问点,只有主Proposer可以提出议案,不也存在单点问题么,选主,是不是也得先保持一致性呢?

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值