根据业务场景 要发生加一的场景一定是支付失败后库存+1 ,此时前面业务一定发生了商品减库存这个业务。那么业务上再做+1 的时候可以强制校验前面业务是否成功。可以使用操作时间,也可以使用最终一致性的消息表来都行。
抱歉我傻逼了 没注意你说微服务隐含的意思 这就类似金融场景要求强一致的,不 confirm 你就敢回馈给用户结果? 就好像,银行转账,UI 系统把 operation 发给后台,不等执行结果就告诉用户你转账成功钱没了? 正确的方法,第一个生成订单扣库存,你发 message 到 mq ,这时候并不能给用户订单生成,要等待这个确实后端处理完了库存扣减完毕,这个反馈操作成功了,才能真生成订单。 而你没生成订单,就没有能取消订单,恢复库存的操作。