1、 在采用Redis预减库存的时候,如果Redis扣减库存成功了,消息也通过消息中间件Rocketmq发送出去了,但是在生成订单的时候失败了。如何处理?
解决方案:将订单生成的业务放在Rocketmq的本地事务执行。如果本地事务执行失败了,那么进行Prepared消息的回滚。mysql也不会去扣件库存。也就是redis扣件库存成功后,才会去进行下单的操作,下单完毕后才会进行扣减消息的发送。
待更新
1、 在采用Redis预减库存的时候,如果Redis扣减库存成功了,消息也通过消息中间件Rocketmq发送出去了,但是在生成订单的时候失败了。如何处理?
解决方案:将订单生成的业务放在Rocketmq的本地事务执行。如果本地事务执行失败了,那么进行Prepared消息的回滚。mysql也不会去扣件库存。也就是redis扣件库存成功后,才会去进行下单的操作,下单完毕后才会进行扣减消息的发送。
待更新