场景一:创建订单(预留库存、扣积分、锁定优惠券)
场景二:创建交易订单(查找账户、创建交易记录、判断账户余额并扣款、增加积分、通知支付平台)
场景三:收到银行扣款结果(更改订单状态、给账户加款、增加积分、生成会计分录、通知电商平台)
场景四:收到支付平台的支付结果(更改订单状态,扣减库存,扣减积分,使用优惠券,增加消费积分等)
均涉及到多个服务内部数据修改,分布式事务必不可少!
===================================================
方案
基于可靠消息的最终一致性方案(异步确保型)
TCC事务补偿型方案(两阶段的一种实现)
最大努力通知型方案(跨平台之间)