分布式事务方案整理

分布式系统有一个著名的CAP理论,即一个分布式系统要同时满足一致性(Consistency)、可用性(Availablility)和分区容错(Partition Tolerance)三个特性是一件不可能的事情。

CAP理论告诉架构师不要妄想设计出同时满足三者的系统,应该有所取舍,设计出适合业务的系统

方案一. 2PC(两阶段提交协议)

基于数据库XA协议的方式, java有Automikos框架支持,可以实现事务强一致性, 但性能低下。 毕竟鱼与熊掌不可兼得。尽量避免分布式事务,
尽量将非核心事务做成异步;

方案二. 使用消息队列来避免分布式事务

将分布式的大事务分解成小事务 + 异步, 保证发起方局部事务一致,即消息发送成功和事务成功一致。

方案三. TCC编程式解决方案

TCC事务补偿是基于2PC实现的业务层事务控制方案,它是Try、Confirm和Cancel三个单词的首字母

  1. Try 检查及预留业务资源
    完成提交事务前的检查,并预留好资源。
  2. Confirm 确定执行业务操作
    对try阶段预留的资源正式执行。
  3. Cancel 取消执行业务操作
    对try阶段预留的资源释放。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值