2 一致性协议

目录

1 2PC和3PC

1.1 2PC

1.2 3PC

2 Paxos算法

2.1算法原理

2.2算法执行过程


1 2PC和3PC

1.1 2PC

大家不要将两阶段提交想的复杂,事实上,这个协议很简单,prepare阶段参与者只是执行事务,但不提交,此时已能知道能否成功执行,并将此状态反馈给协调者。协调者收到都成功,则通知所有参与者commit。若只要有一个反馈失败,则通知所有参与者rollback。协调者在commit阶段发出commit或rollback通知后就不管了。

2PC两阶段提交协议

1.2 3PC

3PC主要解决的单点故障问题,并减少阻塞

  1. 引入超时机制。同时在协调者和参与者中都引入超时机制。

  2. 在第一阶段和第二阶段中插入一个准备阶段。保证了在最后提交阶段之前各参与节点的状态是一致的

2PC和3PC

2 Paxos算法

2.1算法原理

分布式理论:深入浅出Paxos算法

Paxos要实现的目标的是:

T1.一次选举必须要选定一个议案(不能出现所有议案都被拒绝的情况)
T2.一次选举必须只选定一个议案(不能出现两个议案有不同的值,却都被选定的情况)

Paxos算法的必须要能满足:

P1:一个Acceptor必须接受它收到的第一个议案。

P2:如果一个值为v的议案被选定了,那么被选定的更大编号的议案,它的值必须也是v。

为满足P2:

要求提出议案符合P2c:

在所有Acceptor中,任意选取半数以上的Acceptor集合,我们称这个集合为S。Proposal新提出的议案(简称Pnew)必须符合下面两个条件之一:
  1)如果S中所有Acceptor都没有接受过议案的话,那么Pnew的编号保证唯一性和递增即可,Pnew的值可以是任意值。
  2)如果S中有一个或多个Acceptor曾经接受过议案的话,要先找出其中编号最大的那个议案,假设它的编号为N,值为V。那么Pnew的编号必须大于N,Pnew的值必须等于V。

2.2算法执行过程

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值