TCC(Try-Confirm-Cancel)是一种常用的分布式事务解决方案,它将一个事务拆分成三个步骤:
T(Try):业务检查阶段,这阶段主要进行业务校验和检查或者资源预留;也可能是直接进行业务操作。
C(Confirm):业务确认阶段,这阶段对Try阶段校验过的业务或者预留的资源进行确认。
C(Cancel):业务回滚阶段,这阶段和上面的C(Confirm)是互斥的,用于释放Try阶段预留的资源或者业务。
try阶段:
张三余额减100,
张三冻结字段加100.
李四冻结字段加100。
Confirm 阶段:
张三冻结字段减100.
李四冻结字段减100,
李四余额加100。
cancel阶段:
张三余额加100,
张三冻结字段减100.
李四冻结字段减100.