时间:2022-09-14 | 标签: | 作者:Q8 | 来源:网络
小提示:您能找到这篇{支付宝蚂蚁金服——基于补偿性 TCC 的分布式事务}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的支付宝蚂蚁金服——基于补偿性 TCC 的分布式事务内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您! |
补偿型 TCC 解决方案的从业务服务与通用型 TCC 方案类似,也需要参与到主业务服务的决策当中。但与通用型 TCC 方案不一样的是,从业务服务只需要提供 Do 和 Compensate 两个接口:
▲ 补偿性 TCC 模型 与通用型方案相比,补偿型解决方案的从业务服务只需要在在原有业务逻辑上额外增加一个补偿回滚逻辑即可,业务改造量较小。但业务在一阶段就执行完整个业务逻辑,无法做到有效隔离,可能存在补偿失败的情况,还需要额外的异常处理机制,比如人工介入。 由于存在回滚补偿失败的情况,补偿型 TCC 分布式事务解决方案只适用于一些并发冲突较少的业务或者需要与外部交互的业务,这些外部业务不属于被动型业务,其执行结果会影响主业务服务的决策,比如机票代理商的机票预订服务: ▲ 机票预订业务流程 该机票服务提供多程机票预订服务,可以同时预订多趟行程航班机票,比如从北京到圣彼得堡,需要第一程,从北京到莫斯科,以及第二程从莫斯科到圣彼得堡。 用户想要同时预订这两趟航班的机票,只预订一趟航班对用户来说没有意义。因此对于这样的业务服务同样提出了原子性要求,要么同时成功,要么同时失败,如果其中一趟预订失败,另外一趟也不需要预订。 但是由于航空公司相对于机票代理商来说属于外部业务,只提供订票接口和取消订票接口,想要推动航空公司改造是极其困难的。因此,对于此类业务服务,可以使用补偿型 TCC 分布式事务解决方案,如下: ▲ 机票预订业务的 TCC 流程 在用户预订机票的时候,先调用各航空公司的预订接口,如果两趟航班都预订成功,则整个分布式事务执行成功;一旦某趟航班机票预订失败,则分布式事务回滚,由事务模型框架调用对应航空公司的取消预订接口。通过这种方式,也可以保证多程机票预订服务的原子性。 |
上一篇:淘宝怎么免费和付费的进行快速的引流?
下一篇:支付宝蚂蚁金服——基于异步确保型 TCC 的分布式
小提示:您应该对本页介绍的“支付宝蚂蚁金服——基于补偿性 TCC 的分布式事务”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通支付宝蚂蚁金服——基于补偿性 TCC 的分布式事务的相关事宜。
关键词:支付宝蚂蚁金服