分布式事务(二)———2PC/3PC(强一致性)解决方案

该系列参考:
https://www.jianshu.com/p/962271bbf4ea
https://blog.csdn.net/a745233700/article/details/122402303
https://cloud.tencent.com/developer/article/2048776
https://icyfenix.cn/

一、2PC两阶段提交

两阶段提交就是将事务提交拆成了准备阶段和提交阶段这两个阶段。 是一种强一致性设计,引入一个事务协调者的角色来协调管理各参与者(也可称之为各本地资源)的提交和回滚

数据库充当RM角色,应用需要充当TM的角色,把多个本地事务协调为全局统一的分布式事务。

在这里插入图片描述

1.一阶段提交

(1)假设第一阶段所有RM都返回Ok(准备成功),那么TM则向所有RM发送提交事务命令,然后等待所有事务都提交成功之后,返回事务提交成功

(2)假设第一阶段有一个RM返回失败了,那么TM就会向所有参与者发送回滚事务的请求,即分布式事务失败

(3)此阶段TM有超时机制,因为可能存在因为网络原因没有收到RM的响应或者RM挂了的情况,超时就会判断事务失败,全部回滚

2.二阶段提交

(1)假设二阶段执行回滚事务操作失败,则会不断重试回滚直到所有RM都回滚成功

(2)假设二阶段执行提交事务操作失败,也会不断重试,因为此时可能已经有RM已经提交成功了

3.存在的问题</

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值