秒杀情况下,用户下单扣除库存创建订单之后,迟迟不付款,时间到了自动取消订单
解决方案1. 使用redis实现
1.下单之后把生成分布式全局唯一id,把订单id放进redis中,设置一个过期时间
2.定义一个redis监听器,监听所有的key,一旦有key过期,就会调用实现的方法
public class RedisKeyExpirationListener extends KeyExpirationEventMessageListener {
@Autowired
private PayOrderTimeoutService payOrderTimeoutService;
public RedisKeyExpirationListener(RedisMessageListenerContainer listenerContainer

针对秒杀场景下用户下单后未及时支付的问题,本文提出了两种解决方案:1. 使用Redis设置订单ID的过期时间,并通过监听器在过期后自动取消订单;2. 利用RabbitMQ的TTL和死信队列,当订单消息超过预设时间未被处理则转入死信队列,由专门消费者进行订单取消操作。
最低0.47元/天 解锁文章
823

被折叠的 条评论
为什么被折叠?



