美文网首页
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