欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

tcc事务对比saga  

程序员文章站 2024-02-24 19:59:22
...
tcc的预锁资源可以作为saga中的一个事务,这样的话,tcc就变成了saga,也就是说,tcc是saga的一个特例。

tcc要求每一个事务都有预锁资源的操作,saga则可以灵活的决定某一个事务是否需要拆解成2个事务(预锁资源,执行事务)

tcc中,预锁资源对事务发起方透明,然而预锁资源的结果却对发起方可见(如转账的锁定金额),因此tcc模型中的事务是有副作用的。

saga中可以灵活的定义故障处理是向前成功或是向后还原,tcc在try阶段只能向后复原,confirm阶段只能向前成功

tcc牺牲了性能、灵活性,引入副作用,最终目的是希望构建起一套规整的模型,从而可以通过开发框架,隐藏分布式事务的细节及复杂度,简化开发