分布式事务中TCC是什么?

提问者:帅平 问题分类:面试刷题
分布式事务中TCC是什么?
1 个回答
我怕时间不够i
我怕时间不够i
TCC(Try-Confirm-Cancel)是一种应用层的分布式事务解决方案,它将事务分为三个步骤:尝试(Try)、确认(Confirm)和取消(Cancel):
在 Try 阶段,会预留必要的业务资源;
在 Confirm 阶段,如果所有相关的业务操作都成功了,则正式执行业务操作;
如果有操作失败,则在 Cancel 阶段执行补偿操作,回滚之前的预留资源。

下面举个例子:

假设我们买一张从深圳到北京的火车票,票价为 360 元,TCC 分为这三个步骤:
Try:检查钱包的钱是否大于等于 360,并锁住资源(360 元和这张车票);
Cancel:如果有一个资源锁定失败,则进行 cancel 释放资源,这个过程中无论 cancel 还是其它操作失败都进行重试 cancel,所以需要保证幂等性;
Confirm:如果资源锁定都成功,则进行 confirm,资源交换,这个过程中无论 confirm 还是其它操作失败都进行重试 confirm,都需保证幂等性。
发布于:8个月前 (01-29) IP属地:未知
我来回答