RabbitMQ怎么实现延迟队列?

前言

RabbitMQ本身是不支持延迟消息的,但是RqbbitMQ可以通过其提供的两个特性TTL(消息存活时间)和DLX(死信交换器)来实现。

TTL+死信队列

在MQ中,设置消息的过期时间,但是该消息没有消费者,同时绑定死信队列,在消息过期后,消息将转到死信队列,消费者消费死信队列的消息即可,这就是使用TTL+死信队列实现的延迟队列。

RabbitMQ插件

还可以使用延迟消息插件实现延迟队列,延迟消息插件可以直接创建延迟交换器,在发送消息时,指定消息的延迟时间,在MQ中的消息到达延迟时间后,在将其转发到对应的队列中,由消费者进行消费。

相关推荐
掘金-我是哪吒8 分钟前
分布式微服务系统架构第126集:集群,数据库扩展,多节点分布,分库,分表,分片,分表,运维
运维·数据库·分布式·微服务·系统架构
愿你天黑有灯下雨有伞20 分钟前
Spring Boot集成RabbitMQ高级篇:可靠性与性能提升
spring boot·rabbitmq·java-rabbitmq
·云扬·1 小时前
【PmHub后端篇】Skywalking:性能监控与分布式追踪的利器
分布式·skywalking
杜清卿2 小时前
Spark处理过程-转换算子和行动算子
大数据·分布式·spark
小白的白是白痴的白4 小时前
Spark基础介绍
大数据·分布式·spark
火山引擎开发者社区4 小时前
推理加速新范式:火山引擎高性能分布式 KVCache (EIC)核心技术解读
分布式·火山引擎·eic
CONTONUE4 小时前
【Spark】使用Spark集群搭建Yarn模式
大数据·分布式·spark
code在飞5 小时前
windows 部署 Kafka3.x KRaft 模式 不依赖 ZooKeeper
windows·分布式·zookeeper·kafka
CONTONUE5 小时前
Spark处理过程-转换算子和行动算子(一)
大数据·分布式·spark
mikey棒棒棒5 小时前
lua脚本+Redission实现分布式锁
redis·分布式·lua·看门狗·redission