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