Tcc模式

Tcc模式是一种解决复杂事务场景的方案,包括Try、Confirm和Cancel三个操作。Try阶段预留资源,Confirm阶段确认并使用资源,Cancel阶段则取消预留并恢复状态。在并发情况下,多个Tcc事务可并发执行,各自冻结所需资源。通过添加Seata依赖和实现TccAction接口,可以将Tcc模式应用于实际的后端开发中。
摘要由CSDN通过智能技术生成

Tcc模式

有侵入的事务方案
  • 事务控制代码需要自己写
  • 业务代码也需要修改
  • 底层数据库表结构也要修改

AT事务适用于80%业务场景,在一些复杂的情况下,自动事务无法自动处理,就需要手动处理事务
TCC–两个阶段的三个操作
在这里插入图片描述

  • 第一阶段
    。Try-预留资源,冻结数据
  • 第二阶段
    。Confirm-确认资源,使用冻结数据完成业务处理
    。Cancel-取消预留的资源,把之前预留的资源解冻/恢复回去
例子

第一阶段 Try
以账户服务为例,当下订单时要扣减用户账户金额:

在这里插入图片描述

假如用户购买 100 元商品,要扣减 100 元。

TCC 事务首先对这100元的扣减金额进行预留,或者说是先冻结这100元:

在这里插入图片描述

第二阶段 Confirm
如果第一阶段能够顺利完成,那么说明“扣减金额”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值