分布式事务TCC两阶段提交
分布式事务TCC两阶段提交 两阶段提交 在提交事务的过程中需要在多个节点之间进行协调,而各节点对锁资源的释放必须等到事务最终提交时,比较耗时,锁资源发生冲突的概率增加,当事务的并发量达到一定数量的时候,就会出现大量事务积压甚至出现死锁,系统性能就会严重下滑。 TCC型事务 TCC属于补偿型柔性事务,本质也是一个两阶段型事务。 TCC(Try-Confirm-Cancel) TCC分三部分,如下所述: Try: 尝试执行业务; Confirm: 确认执行业务; Cancel: 取消执行业务; 实例 Try 操作 tryX 下单系统创建待支付订单 tryY 冻结账户红包200元 tryZ 冻结资金账户800元 Confirm 操作 confirmX 订单更新为支付成功 confirmY 扣减账户红包200元 confirmZ 扣减资金账户800元 Cancel 操作 cancelX 订单处理异常,资金红包退回,订单支付失败 cancelY 冻结红包失败,账户余额退回,订单支付失败 cancelZ 冻结余额失败,账户红包退回,订单支付失败 来源: oschina 链接: https://my.oschina.net/wallenheng/blog/3190895