mysql 分布式 2PC 3pc_关于2PC(二阶段提交)和3PC(三阶段提交)的理解

分布式系统和分布式一致性问题

分布式系统,即运行在多台不同的网络计算机上的软硬件系统,并且仅通过消息传递来进行通信和协调。

分布式一致性问题,即相互独立的节点之间如何就一项决议达成一致的问题。

2PC(Two-Phase Commit 二阶段提交)

二阶段提交,是指将事务提交分成两个部分:准备阶段和提交阶段。事务的发起者称之为协调者,事务的执行者称为参与者。

阶段一:准备阶段

由协调者发起并传递带有事务信息的请求给各个参与者,询问是否可以提交事务,并等待返回结果。

个 参与者执行事务操作,将Undo和Redo放入事务日志中(但是不提交)

如果参与者执行成功就返回YES(可以提交事务),失败NO(不能提交事务)

阶段二:提交阶段

此阶段分两种情况:所有参与者均返回YES,有任何一个参与者返回NO

所有参与者均反馈YES时,即提交事务。

任何一个参与者反馈NO时,即中断事务。

提交事务:(所有参与者均反馈YES)

1、协调者向所有参与者发出正式提交事务的请求(即Commit请求)。

2、参与者执行Commit请求,并释放整个事务期间占用的资源。

3、各参与者向协调者反馈Ack完成的消息。

4、协调者收到所有参与者反馈的Ack消息后,即完成事务提交。

中断事务:(任何一个参与者反馈NO)

1、协调者向所有参与者发出回滚请求(即Rollback请求)。

2、参与者使用阶段1中的Undo信息执行回滚操作,并释放整个事务期间占用的资源。

3、各参与者

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值