美文网首页
分布式事务之TCC

分布式事务之TCC

作者: 写代码的杰西 | 来源:发表于2021-04-07 17:51 被阅读0次

TCC 指的是Try - Confirm - Cancel。

  • Try 指的是预留,即资源的预留和锁定,注意是预留。
  • Confirm 指的是确认操作,这一步其实就是真正的执行了。
  • Cancel 指的是撤销操作,可以理解为把预留阶段的动作撤销了。

对于每一个要执行的操作,都会实现三个方法 try confirm 和cancel。
如果一个事务,要执行 a b c 三个操作,那么会先对这三个操作执行try方法。
try方法里将是资源的预留和锁定,举例:a操作是扣分,b操作是加分,c操作是扣库存。那么在try阶段,a操作将扣的分先扣到预扣分字段,b操作同理,c操作先冻结库存。
在try操作都执行完以后,回执给事务管理器自己的操作是成功了还是失败了。如果都成功了,事务管理器给参与者发送执行confirm方法。如果有一个失败了,则都执行cancel方法。
confirm方法,还是举上面的例子:a操作刚才把扣的分放到了预扣分操作,这里就直接操作扣分。b同理。c把冻结的库存扣除。
cancel方法,和confirm相反,把预扣分、冻结的资源还原即可。

相关文章

网友评论

      本文标题:分布式事务之TCC

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