AT/TCC/SAGA/XA-分布式事务注意要点

阅读:https://www.jianshu.com/p/f2caa8737b7b,以下是要点:

四种分布式事务模式,分别在不同的时间被提出,每种模式都有它的适用场景和注意事项:

  • AT 模式是无侵入的分布式事务解决方案,适用于不希望对业务进行改造的场景,几乎0学习成本。但是要注意共享数据会存在脏写,如果是数据只由事务调用者单独控制,那么就没有问题。
  • TCC 模式是高性能分布式事务解决方案,适用于核心系统等对性能有很高要求的场景。要注意并发、幂等,要解决空回滚、防悬挂控制
  • Saga 模式是长事务解决方案,适用于业务流程长且需要保证事务最终一致性的业务系统,Saga 模式一阶段就会提交本地事务,无锁,长流程情况下可以保证性能,多用于渠道层、集成层业务系统。事务参与者可能是其它公司的服务或者是遗留系统的服务,无法进行改造和提供 TCC 要求的接口,也可以使用 Saga 模式。要注意幂等,要解决空补偿、防悬挂控制
  • XA模式是分布式强一致性的解决方案,但性能低而使用较少。

空回滚、空补偿:例如,如果try或者是正操作网络超时引起回滚,事务没有接到try或者正操作请求,但是接到了回滚或逆向回滚操作,这时候就应当执行空回滚或空补偿。

防悬挂控制:例如,回滚操作请求早于try请求调用引起的数据异常。

要防止以上问题,每个分布式事务应当有唯一编号,单个事务执行时缓存此编号并记录已执行阶段,各个阶段执行时核验缓存。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值