一、基础流程(流程图示意)
通过简单的流程图展示了电商下单的核心步骤及异常处理:
- 正常流程:订单创建 → 库存扣减 → 支付
- 异常处理:若支付失败,触发补偿库存 → 取消订单
该流程直观呈现了下单的主路径和支付失败后的反向操作,是分布式事务处理的基础逻辑体现。
二、TCC + MQ 混合模式
核心阶段
- Try阶段:
- 订单服务:创建订单,状态设为“待确认”
- 库存服务:冻结相应库存(而非直接扣减)
- 支付服务:冻结用户账户中对应的支付金额
- Confirm阶段:
- 触发条件:支付成功后,通过MQ(消息队列)通知相关服务
- 订单服务:将订单状态更新为“已支付”
- 库存服务:将冻结的库存进行实际扣减
- 异常处理(Cancel阶段):
- 触发条件:支付失败
- 操作:订单取消,同时释放冻结的库存和账户金额
延伸说明
- 对于积分服务等非核心流程,通过MQ异步通知发放积分,采用最终一致性原则,不严格要求与主