RabbitMQ-死信交换机(延时队列)

RabbitMQ-死信交换机(延时队列)

延时队列 = TTL + 死心交换机 或者 使用RabbitMQ提供的消失消息插件

死信交换机,当一个队列中的消息满足下列情况之一时,就可以成为死信

  1. 消费者使用basic.reject或basic.nack声明消费失败,并且消息的requeue参数设置为false
  2. 消息是一个过期消息,超时无人消费
  3. 要投递的队列,消息堆满了,最早的消息就可能成为死信

TTL,也就是Tile-To-Live。如果一个队列中的消息TTL结束仍未被消费,则就会变为死信。

  1. 消息所在的队列设置了存活时间
  2. 消息本身设置了存活时间

RabbitMQ-死信交换机(延时队列)

  1. 可以使用TTL + 死信交换机来实现,死信交换机的触发条件是这样的,1 当消息被拒绝后会把消息放到死信中 2 当消息的TTL过期后也会被放到死信交换机中 3 当队列的消息堆满后,最早的消息可能会放到死信中。
  2. 还有另外一种方式,就是RabbitMQ提供的插件,这样实现延时队列就会见会简单很多,声明一个队列,设置delayed属性为True,发送消息的时候添加x-delay头,添加过期时间。
相关推荐
jyOverQ9 小时前
RabbitMQ 延迟消息怎么实现?TTL 与死信队列
分布式·后端·rabbitmq·ruby
东小黑1 天前
mac安装RabbitMQ
分布式·rabbitmq
JAVA面经实录9173 天前
RabbitMQ 完整面试题答案
java·rabbitmq·java-rabbitmq
pnoker4 天前
IoT DC3 消息总线:六适配器可插拔设计
物联网·架构·kafka·消息队列·rabbitmq
2601_962175664 天前
RabbitMQ 的工作模式
分布式·rabbitmq
2601_960906725 天前
1X发布自己的世界模型1XWM
mysql·mongodb·rabbitmq·memcached
Dreams_l5 天前
RabbitMQ介绍及其工作模式
分布式·rabbitmq
深念Y5 天前
视频平台架构重构:从微服务到可插拔基础设施
后端·微服务·云原生·架构·rabbitmq·音视频·rocketmq
Jul1en_6 天前
【Java 脚手架】封装通用工具类-3
java·开发语言·redis·缓存·ai·bootstrap·rabbitmq
就叫_这个吧8 天前
RabbitMQ+elasticsearch+Redis,实现新增内容并异步到es中,是否消费成功检测
redis·elasticsearch·rabbitmq