适用于最终一致性场景,已订单支付成功,清空购物车对应商品为例
本地消息表
1.推进订单的状态到支付成功,记录一个清空购物车的任务,放在一个事务中
2.异步高频任务扫描任务表,执行成功后更新消息表
至于调用同步接口,还是通过消息交互结果都可以(个人建议使用同步接口,整个链路会变短)
事务消息
1.发送一个半消息(到broker了 但是消费者看不到)
2.推进订单状态到支付成功
3.根据2的结果决定是commit还是rollback消息
写的比较简要,欢迎大佬来补充
1.推进订单的状态到支付成功,记录一个清空购物车的任务,放在一个事务中
2.异步高频任务扫描任务表,执行成功后更新消息表
至于调用同步接口,还是通过消息交互结果都可以(个人建议使用同步接口,整个链路会变短)
1.发送一个半消息(到broker了 但是消费者看不到)
2.推进订单状态到支付成功
3.根据2的结果决定是commit还是rollback消息
写的比较简要,欢迎大佬来补充