商城前端
同步调用订单服务,创建订单。
合成技术案例 · 架构分组图
层间箭头仅表示分组层级;具体依赖、事件方向与数据归属以节点文字为准。
同步调用订单服务,创建订单。
携带回调 ID,同步调用回调服务。
订单服务:写订单库,异步发布 OrderCreated;消费 PaymentConfirmed,在同一事务更新支付状态与已消费事件 ID。
回调服务:写回调库,事务提交后确认接收;按回调 ID 去重,异步发布 PaymentConfirmed。
库存消费者:异步消费 OrderCreated,在同一事务写入库存预留结果与已消费事件 ID。
PostgreSQL;仅订单服务读写。订单与 outbox 同一事务提交;保存消费去重记录。
独立 PostgreSQL;仅回调服务读写。回调 ID 与 outbox 同一事务提交。
独立 PostgreSQL;仅库存消费者读写。保存预留结果和消费去重记录。
至少一次投递。OrderCreated → 库存消费者;PaymentConfirmed → 订单服务。