简述TCC事务模型

TCC(补偿事务)

  • TryConfirmCancel 针对每个操作,都要注册一个与其对应的确认和补偿(撤销)操作
  • Try操作做业务检查及资源预留,Confirm做业务确认操作,Cancel实现一个与Try相反的操作既回滚操作。TM首先发起所有的分支事务的try操作,任何一个分支事务的try操作执行失败,TM将会发起所有分支事务的Cancel操作,若try操作全部成功,TM将会发起所有分支事务的Confirm操作,其中Confirm/Cancel操作若执行失败,TM会进行重试。
  • TCC模型对业务的侵入性较强,改造的难度较大,每个操作都需要有try、confirm、cancel三个接口实现
  • TCC中会添加事务日志,如果Confirm或者Cancel阶段出错,则会进行重试,所以这两个阶段需要支持幂等;如果重试失败,则需要人工介入进行恢复和处理等。
图片[1]-简述TCC事务模型-不念博客
© 版权声明
THE END