事务:TCC补偿性事务:修订间差异
无编辑摘要 |
无编辑摘要 |
||
第1行: | 第1行: | ||
TCC是分布式事务实现的一种方式 | TCC是分布式事务实现的一种方式 | ||
;TRYING:主要是对业务系统做检测及资源预留 | |||
;CONFIRMING:主要是对业务系统做确认提交,TRYING阶段执行成功并开始执行CONFIRMING阶段时,默认CONFIRMING阶段是不会出错的。即:只要TRYING成功,CONFIRMING一定成功。 | |||
;CANCELING:主要是在业务执行错误,需要回滚的状态下执行的业务取消,预留资源释放 | |||
其中CONFIRMING和CANCELING都需要支持幂等操作。 | |||
而幂等性则是指业务方法调用一次与调用多次的执行返回结果是一样的。 | 而幂等性则是指业务方法调用一次与调用多次的执行返回结果是一样的。 | ||
TCC 模式类似2PC,不同点在于: | |||
* 实现是在业务层而不是资源层 | |||
* 没有prepare阶段,try操作即进行了资源准备与操作 | |||
* 可以根据业务要求实现资源锁定的粒度 | |||
*http://www.roncoo.com/article/detail/124243 | *http://www.roncoo.com/article/detail/124243 | ||
[[Category:Distributed]] | [[Category:Distributed]] |
2021年5月3日 (一) 07:17的最新版本
TCC是分布式事务实现的一种方式
- TRYING
- 主要是对业务系统做检测及资源预留
- CONFIRMING
- 主要是对业务系统做确认提交,TRYING阶段执行成功并开始执行CONFIRMING阶段时,默认CONFIRMING阶段是不会出错的。即:只要TRYING成功,CONFIRMING一定成功。
- CANCELING
- 主要是在业务执行错误,需要回滚的状态下执行的业务取消,预留资源释放
其中CONFIRMING和CANCELING都需要支持幂等操作。
而幂等性则是指业务方法调用一次与调用多次的执行返回结果是一样的。
TCC 模式类似2PC,不同点在于:
- 实现是在业务层而不是资源层
- 没有prepare阶段,try操作即进行了资源准备与操作
- 可以根据业务要求实现资源锁定的粒度