RabbitMQ怎么实现延迟消息?

在RabbitMQ中,实现延迟消息可以通过死信交换机(DLX)+过期时间(TTL)的方案,也可以采用RabbitMQ官方提供的延迟消息插件。

DLX+TTL。

主要步骤如下:

1.声明并创建普通交换机和普通队列,完成二者的绑定。

2.声明并创建死信交换机和死信队列,也完成二者的绑定。

3.指定当前普通队列的死信要转发到哪个DLX,以及要匹配哪个死信路由键。

4.不给普通队列配置任何的消费者,使普通队列只做消息暂存和过期,不消费。

5.在生产者发送消息时,为消息设置TTL,将消息发送到普通队列和普通交换机。

6当消息在普通队列的存活时间达到TTL后,过期的消息会被自动转发到DLX中,DLX再重新路由到死信队列,从死信队列中发送的消息就是延迟消息。

rabbitmq_delayed_message_exchange插件

主要步骤:

1.将插件放到RabbitMQ的plugins目录

2.执行rabbitmq-plugins enable rabbitmq_delayed_message_exchange命令启用插件

3.声明一个延迟交换机

4.声明一个普通队列并绑定该延迟交换机

5.生产者在发送消息时,设置消息投x-dlay:延迟时间(ms)

相关推荐
洛豳枭薰19 小时前
消息队列关键问题描述
kafka·rabbitmq·rocketmq
闻哥1 天前
Kafka高吞吐量核心揭秘:四大技术架构深度解析
java·jvm·面试·kafka·rabbitmq·springboot
creator_Li2 天前
RabbitMQ示例
rabbitmq
惊讶的猫2 天前
rabbitmq实践小案例
分布式·rabbitmq
AC赳赳老秦2 天前
代码生成超越 GPT-4:DeepSeek-V4 编程任务实战与 2026 开发者效率提升指南
数据库·数据仓库·人工智能·科技·rabbitmq·memcache·deepseek
惊讶的猫2 天前
rabbitmq初步介绍
分布式·rabbitmq
惊讶的猫2 天前
AMQP 与 RabbitMQ 四大模型
分布式·rabbitmq
像少年啦飞驰点、2 天前
从零开始学 RabbitMQ:小白也能懂的消息队列实战指南
java·spring boot·微服务·消息队列·rabbitmq·异步编程
lekami_兰2 天前
RabbitMQ 延迟队列实现指南:两种方案手把手教你搞定
后端·rabbitmq·延迟队列
为什么不问问神奇的海螺呢丶3 天前
n9e categraf rabbitmq监控配置
分布式·rabbitmq·ruby