图解刚性事务(全局事务)的缺陷

两阶段事务-协调者宕机分析

在这里插入图片描述
1.如果在第一阶段,协调者宕机,那么所有参与者将无法再收到协调者第二阶段的commit或rollback命令,故会一直阻塞下去,本地事务无法结束。
解决方案:所有参与者统一rollback(因为还未进入第二阶段,所有参与者都不会接受到提交或回滚的命令,当前事务是无法继续提交的,故只能回滚)

2.如果在第二阶段,协调者宕机,那么可能是部分参与者没有接收到commit,rollback,那么这部分没有接收到命令的参与者都会一直阻塞下去。

两阶段事务-参与者宕机分析

在这里插入图片描述
1.如果在第一阶段,某个参与者宕机,那么会导致协调者一直等待这个参与者的响应,从而导致其他参与者也进入阻塞,全局事务将无法结束。
解决方案:所有参与者统一rollback(因为还未进入第二阶段,所有参与者都不会接收到提交或回滚的命令,当前事务是无法继续提交的,故只能回滚)

2.如果在第二阶段,协调者发起commit时,某个参与者宕机,已经执行commit,已经执行commit的参与者数据库已经修改成功,但是宕机的参与者就无法commit,这个时候就会参数数据不一致的问题。

两阶段事务-网络问题(脑裂)

1.网络闪断,发生在第一阶段:会有部分参与者进入阻塞,全局事务无法结束。
解决方案:所有参与者统一rollback(因为还未进入第二阶段,所有参与者都不会接收到提交或回滚的命令,当前事务是无法继续提交的,故只能回滚)

2.网络闪断,发生第二阶段:会有部分参与者commit另一部分参与者未commit,从而导致数据不一致问题

刚性事务(全局事务)的最大致命性问题是什么?

在这里插入图片描述
最大的致命性问题:性能问题,事务的锁住时间太长。
因为参与者不能提交事务,要等待其他参与者都ok了,才能一起提交。
而且阶段越多,性能就越差,3pc比2pc的性能还差。

感谢观看!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值