Alibaba Seata 学习日记(TCC模式详解)
TCC模式详解
TCC 模式需要根据用户自己的业务场景实现 try、Confirm 和 Cancel 三个操作;事务发起方在一阶段执行 Try 方式,在二阶段提交执行 Confirm 方法,二阶段回滚执行 Cancel 方法。
TCC 三个方法描述
- Try: 资源的检测和预留
- Confirm : 执行的业务提交;要求 Try 成功 Confirm 一定要成功
- Cancel: 预留资源释放
TCC 的实践经验
蚂蚁金服 TCC 实践总结以下注意实现:
业务模型分2阶段设计>并发控制>允许回滚>防悬挂控制>幂等控制
-
TCC 设计 - 业务模型分2 阶段设计:用户接入 TCC,最重要的时考虑如何将自己的业务模型拆成两阶段来实现。
以"扣钱"场景为例,在接入 TCC 前,对A账户的扣钱,只需一条更新账户余额的 SQL 便能完成; 但是在接入 TCC 之后,用户就需要考虑如何将原来一步就能完成的扣钱操作,拆成两阶段,实现成三个方法,并保证一阶段 Try 成功的话 二阶段 Confirm 一定能成功。