TCC模式
Last updated
Last updated
一个分布式的全局事务,整体是两阶段提交的模型。全局事务是由若干分支事务组成的,分支事务要满足两阶段提交的模型要求,即需要每个分支事务都具备自己的:
> 一阶段,prepare行为。
> 二阶段,commit或rollback行为。
根据两阶段行为模式的不同,将分支事务划分为 Automatic (Branch) Transaction Mode 和 Manual (Branch) Transaction Mode。
AT模式基于支持本地ACID事务的关系型数据库:
> 一阶段prepare行为:在本地事务中,一并提交业务数据更新和相应回滚日志记录。
> 二阶段commit行为:马上成功结束,自动异步批量清理回滚日志。
> 二阶段rollback行为:通过回滚日志,自动生成补偿操作,完成数据回滚。
相应的,TCC模式,不依赖于底层数据资源的事务支持:
> 一阶段prepare行为:调用自定义的prepare逻辑。
> 二阶段commit行为:调用自定义的commit逻辑。
> 二阶段rollback行为:调用自定义的rollback逻辑。
所谓TCC模式,是指支持把自定义的分支事务纳入到全局事务的管理中。