从头开始学分库分表-------补偿事务TCC
补偿事务TCC
补偿事务TCC,全称Try-Confirm-Cancel。
TCC的核心思想:针对每个操作都要注册一个与其对应的确认(Try)和补偿(Cancel)。
Try阶段:做一些业务检查以及一些资源预留。它需要后续的Confirm一起才能构成一个完成的业务逻辑。
Comfirm阶段:确认提交。Try阶段所有分支事务执行成功后开始执行Confirm。
Cancel阶段:业务执行出错需要回滚
与2PC的区别:
2PC通常是在跨库DB里,而TCC是在应用层面。
TCC每个业务逻辑代码都要实现Try、Confirm、Cacnel接口,开发难度大,所以所对应用的倾入性非常强。