美文网首页
TCC分布式事务管理器

TCC分布式事务管理器

作者: 鸿雁长飞鱼龙潜跃 | 来源:发表于2019-07-09 10:25 被阅读0次

一,TCC分布式事务管理器

ByteTCC

Himly

TCC-transaction

二,TCC事务管理器的实现思路

首先,理解一下下面2个名词:

中间状态字段:这里需要一个中间状态字段,也就是我们先用这个字段记录将要执行的操作。

目标字段:我们执行代码实际需要修改的字段。

然后,TCC事务管理器需要每个功能对应三个service,分别对应TCC的三个阶段。

service1:try阶段执行,功能就是更新数据库中间状态字段。

service2:confirm阶段执行,功能就是根据中间状态字段的值,更新目标字段,然后把中间状态字段的值置为初始值0。

service3:cancel阶段执行,功能就是把中间状态字段的值置为初始值0。

1,try

功能:执行service1,每个微服务更新中间状态字段的值。

在预提交阶段,直接更新这个中间状态字段,而不是直接更新目标字段,这是TCC的精髓。TCC补偿事务的概念,就是从这里来的。

这里需要注意,每个微服务都要设置一个中间状态,预提交阶段,每个微服务都只更新中间状态字段。

2,confirm

功能:TCC事务管理器如果发现每个微服务都正常执行结束,则通知每个微服务执行各自的service2,执行更新目标字段的逻辑。

3,cancel

功能:TCC事务管理器如果发现有微服务没有正常执行结束,则通知每个微服务执行各自的service3,执行回滚的逻辑。

这就是TCC事务管理器的具体实现逻辑。

相关文章

网友评论

      本文标题:TCC分布式事务管理器

      本文链接:https://www.haomeiwen.com/subject/pubtkctx.html