分布式事务——华为servicecomb-pack

补偿方式

在讲servicecomb-pack之前先了解两个概念:不完美补偿(saga)完美补偿(tcc)。

  1. saga:不完美补偿,一般在系统中我们会专门为业务逻辑对应写一个补偿逻辑,如果业务逻辑执行失败,就会去执行这个补偿逻辑,我们称这个补偿逻辑为反向操作,这个反向操作同样会留下操作痕迹,例如:在银行系统中,客户去ATM取钱,银行会先对用户账户进行扣款操作,如果本次取钱不成功,银行系统会发出一笔冲正操作,将之前扣除款项打回用户账户,这个冲正操作在交易记录里面是开源查询到

  2. tcc:完美补偿,cancel阶段会彻底清楚之前业务逻辑操作,用户是感知不到。例如:在一个交易平台去发起交易,首先在try阶段不会直接去扣除账户余额,而且去检查用户额度并刷新额度,然后在confirm阶段才去真正操作账户。如果出现异常,那么在cancel阶段就需要去执行业务逻辑来取消try阶段产生后果,释放在try阶段被占用额度。整个过程只有等confirm执行完毕,交易才算完成。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值