TCC模式

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

> 一阶段,prepare行为。

> 二阶段,commit或rollback行为。

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

AT模式基于支持本地ACID事务的关系型数据库:

> 一阶段prepare行为:在本地事务中,一并提交业务数据更新和相应回滚日志记录。

> 二阶段commit行为:马上成功结束,自动异步批量清理回滚日志。

> 二阶段rollback行为:通过回滚日志,自动生成补偿操作,完成数据回滚。

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

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

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

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

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

Last updated