RabbitMQ延迟队列

通过TTL和死信队列,RabbitMQ能够实现消息延迟功能,例如在订单支付场景中,当订单超时未支付时发送检查消息以取消订单。TTL设置消息过期时间,而死信队列接收过期或特定条件下未消费的消息。消息成为死信的条件包括队列达到长度限制、消费者拒绝消费和消息过期。这种策略为业务流程提供了灵活的时间控制。
摘要由CSDN通过智能技术生成

rabbitmq中没有延迟队列但是可以使用TTL+死信队列进行消息延迟。

作用:订单支付,超时后发送消息进行检查订单支付状态,如果未支付则取消订单回滚库存。

为什么TTL+死信队列可以进行过期发送呢。

其中TTL可以设置消息过期时间,Time To Live。而死信顾名思义则是遗言,则消息死亡时发送。

消息成为死信的三种情况:
1. 队列消息长度到达限制;
2. 消费者拒接消费消息, basicNack/basicReject, 并且不把消息重新放入原目标队
,requeue=false
3. 原队列存在消息过期设置,消息到达超时时间未被消费;
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值