分布式事务(三):Seata之TCC事务模式原理

  TCC 模式是 Seata 支持的一种由业务方细粒度控制的侵入式分布式事务解决方案,是继 AT 模式后第二种支持的事务模式。其分布式事务模型直接作用于服务层,不依赖底层数据库,可以灵活选择业务资源的锁定粒度,减少资源锁持有时间,可扩展性好,是为独立部署的 SOA 服务而设计的。

  TCC模式支持把自定义的分支事务纳入到全局事务管理中。

Seata TCC模式,整体是两阶段提交的模型。全局事务由若干分支事务组成,分支事务要满足 两阶段提交 的模型要求,即需要每个分支都具备两阶段:

  一阶段 prepare 行为;

  二阶段 commit 或 rollback 行为。

0

根据两阶段行为模式的不同,分支事务 划分为 Automatic (Branch) Transaction Mode 和 TCC (Branch) Transaction Mode。

TCC模式不依赖于底层数据资源的事务支持:

  一阶段prepare行为:调用自定义的 prepare 逻辑;

  二阶段commit行为:调用自定义的 commit 逻辑;

  二阶段rollback行为:调用自定义的 rollback 逻辑。

 

posted @ 2024-02-07 16:48  无虑的小猪  阅读(51)  评论(0编辑  收藏  举报