Alibaba Seata 学习日记(TCC模式详解)

本文介绍了Alibaba Seata的TCC模式,详细讲解了TCC的Try、Confirm和Cancel三个操作及其作用。讨论了TCC模式在实际应用中的实践经验,包括业务模型的两阶段设计、并发控制、幂等性和防悬挂控制等关键点。通过具体的扣钱场景举例,阐述了如何将业务拆分为TCC的三个阶段,并强调了TCC模式在性能上的优势和对业务代码的侵入性。
摘要由CSDN通过智能技术生成

Alibaba Seata 学习日记(TCC模式详解)

TCC模式详解

TCC 模式需要根据用户自己的业务场景实现 try、Confirm 和 Cancel 三个操作;事务发起方在一阶段执行 Try 方式,在二阶段提交执行 Confirm 方法,二阶段回滚执行 Cancel 方法。

img

TCC 三个方法描述

  • Try: 资源的检测和预留
  • Confirm : 执行的业务提交;要求 Try 成功 Confirm 一定要成功
  • Cancel: 预留资源释放

TCC 的实践经验

蚂蚁金服 TCC 实践总结以下注意实现:

业务模型分2阶段设计>并发控制>允许回滚>防悬挂控制>幂等控制

  1. TCC 设计 - 业务模型分2 阶段设计:用户接入 TCC,最重要的时考虑如何将自己的业务模型拆成两阶段来实现。

    以"扣钱"场景为例,在接入 TCC 前,对A账户的扣钱,只需一条更新账户余额的 SQL 便能完成; 但是在接入 TCC 之后,用户就需要考虑如何将原来一步就能完成的扣钱操作,拆成两阶段,实现成三个方法,并保证一阶段 Try 成功的话 二阶段 Confirm 一定能成功。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值