支付宝蚂蚁金服——基于通用

关注人数:28 发布时间:2021-11-22 20:37:06

通用型 tcc 解决方案就是比较典型的 tcc 模型实现,所有从业务服务都需要参与到主业务服务的决策当中,所示。

支付宝蚂蚁金服

▲ 通用 tcc 模型

由于从业务服务的结果会影响到主业务服务的决策,因此通用型 tcc 解决方案适用于执行时间确定且较短的业务,比如互联网金融企业比较核心的三个服务:交易、支付、账务。

▲ 支付业务流程

当用户发起一笔交易时,首先访问交易服务,创建交易订单;然后交易服务再调用支付服务为该交易创建支付订单,执行收款,比较后支付服务调用账务服务记录账户流水和记账。

为了保证三个服务一起完成一笔交易,可以使用通用型 tcc 分布式事务模型,将这三个服务放在一个分布式事务中,交易作为主业务服务,支付作为从业务服务,账务作为支付的嵌套从业务服务,由 tcc 模型保证事务的原子性。

▲ 支付业务的 tcc 流程

支付服务的 try 接口创建支付订单,并调用账务服务的 try 接口;账务服务在 try 接口中冻结买家资金。一阶段调用完成后,交易完成,提交本地事务,由 tcc 框架完成分布式事务各从业务服务二阶段的调用。

支付服务二阶段先调用账务服务的 confirm 接口,解冻买家资金;增加卖家可用资金。调用成功后,支付服务将支付订单修改为完成状态,完成支付。

当支付和账务服务二阶段都调用完成后,整个分布式事务结束。

支付宝蚂蚁金服

查看全文

猜你喜欢

开店攻略分类

微商代理怎么做