分布式学习2-一致性协议(2pc3pc)

本文介绍了在分布式环境中,为了保持事务的ACID特性,采用的二阶段提交(2PC)和三阶段提交(3PC)协议。2PC包括提交事务请求和执行事务提交两个阶段;3PC则增加了CanCommit阶段,旨在提高协议的容错性。当协调者与参与者间发生网络异常时,参与者会在超时后自行决定事务的提交或回滚。
摘要由CSDN通过智能技术生成

问题:

一个事务操作需要跨越多个分布式节点的时候,为了保持事务处理的acid特性,需要有一个协调者的组件来统一调度所有的分布式节点的执行逻辑。这个协调者需要做两项工作,一是负责协调参与者的行为,二是最终决定参与者是否要把最终的事务进行真正的提交,基于这个思想,衍生出二阶提交和三阶提交两种协议。

2PC

第一阶段:提交事务请求(投票阶段)

  1. 将事务内容发送给参与者,并询问是否可以进行事务提交
  2. 参与者执行事务,将执行内容计入事务日志
  3. 参与者向协调者返回执行结果

第二阶段:执行事务提交

因为第一阶段会产生两种结果,执行成功,或者执行失败,所以这个阶段包含两种可能。

执行事务提交:

  1.  发送提交请求
  2. 事务提交
  3. 反馈事务处理结果
  4. 完成事务

中断事务:

  1. 发起回滚请求
  2. 事务回滚
  3. 反馈事务回滚结果
  4. 中断事务

3PC 

3pc是在2pc的基础上进行了改进,提出了三段提交协议

阶段一:CanCommit

  1. 事务询问,询问是否可以执行事务提交操作,等待参与者的反应
  2. 事务的参与者向协调者进行相应,反馈yes,进入预备状态,否则反馈no

阶段二:PreCommit

由于阶段一同样会有两种结果,所以此阶段包含两种可能

执行事务预

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值