分布式事务之TCC

2021-04-07  本文已影响0人  写代码的杰西

TCC 指的是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相反,把预扣分、冻结的资源还原即可。

上一篇 下一篇

猜你喜欢

热点阅读