RabbitMQ怎么实现延迟队列?

前言

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

TTL+死信队列

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

RabbitMQ插件

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

相关推荐
小江的记录本3 小时前
【Kafka核心】架构模型:Producer、Broker、Consumer、Consumer Group、Topic、Partition、Replica
java·数据库·分布式·后端·搜索引擎·架构·kafka
身如柳絮随风扬10 小时前
多数据源切换实战:从业务场景到3种实现方案全解析
java·分布式·微服务
AIMath~12 小时前
雪花算法+ZooKeeper解决方案+RPC是什么
分布式·zookeeper·云原生
KmSH8umpK12 小时前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第六篇
数据库·redis·分布式
空中海13 小时前
Kafka :存储、复制与可靠性
分布式·kafka·linq
渣渣盟13 小时前
构建企业级实时数据管道:Kafka + Flink 最佳实践
分布式·flink·kafka
KmSH8umpK14 小时前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第四篇
数据库·redis·分布式
KmSH8umpK15 小时前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第五篇
数据库·redis·分布式
卧室小白16 小时前
ceph-分布式存储
分布式
aXin_ya16 小时前
微服务第九天 分布式缓存(Redis)
分布式·缓存·微服务