rabbitmq安装延迟队列

在RabbitMQ中,延迟队列是一种特殊的队列类型。当消息被发送到此类队列后,不会立即投递给消费者,而是会等待预设的一段时间,待延迟期满后才进行投递。这种队列在多种场景下都极具价值,比如可用于处理需要在特定时间触发的任务,实现对消息处理的限流,或者在消息发送失败后设置延迟重试等。

使用场景

  • 定时任务: 例如发送提醒邮件或通知,确保在特定时间后再执行。
  • 限流: 控制请求速率,防止瞬时高并发导致的系统崩溃。
  • 重试机制: 在处理失败时,可以将消息延迟后重试,避免立即重试造成的负担。

第一步下载延迟插件

https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases

注意:需要根据你自己的 RabbitMQ 服务器端版本选择相同版本的延迟插件,可以在 RabbitMQ 控制台查看:

https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases

我这里mq是3.9.1的所以延迟队列插件选择3.9.0

第二步将插件拷贝至容器中

复制到rabbitmq plugins目录下,linux查询rabbitmq安装包路径命令:whereis rabbitmq

复制到 /usr/lib/rabbitmq/lib/rabbitmq_server-3.9.1/plugins 的目录下,这里着重说一下,我们下载的是.ez文件,如下图所示,直接复制进去就好

第三步执行安装命令

rabbitmq-plugins enable rabbitmq_delayed_message_exchange

这里着重强调一下,我们复制进去的是

rabbitmq_delayed_message_exchange-3.9.0.ez

但是命令执行是不带-3.9.0.ez的

第四步启动插件并重启容器

复制代码
 rabbitmq-plugins enable rabbitmq_delayed_message_exchange

启动成功

第五步在容器重启完成

我们可以登录RabbitMQ的Web端管理界面,在Exchanges选项卡下,点击Add a new exchange,在Type里面看是否出现了x-delayed-message选项,如下图所示:

表示插件已经安装成功

生活中总是充满了各种选择,点餐纠结,出行选择,聚餐座位,团队投票结果不明,随机抽签一锤定音等等!为了解决这个问题,我开发了一款【随机选择决定转盘工具】微信小程序,随机做出决策!无论是随机抽选还是投硬币,都能轻松搞定。现在通过微信小程序二维码就能体验!快来试试吧,让选择变得更简单!

相关推荐
小北方城市网1 天前
Spring Boot Actuator+Prometheus+Grafana 生产级监控体系搭建
java·spring boot·python·rabbitmq·java-rabbitmq·grafana·prometheus
Jinkxs1 天前
基于 Java 的消息队列选型年度总结:RabbitMQ、RocketMQ、Kafka 实战对比
java·kafka·java-rocketmq·java-rabbitmq
洛阳纸贵2 天前
JAVA高级工程师--RabbitMQ消息可靠性、若依集成升级
java·rabbitmq·java-rabbitmq
小北方城市网3 天前
Spring Cloud Gateway 全链路监控与故障自愈实战
spring boot·python·rabbitmq·java-rabbitmq·数据库架构
小北方城市网4 天前
Spring Cloud Gateway 进阶实战:自定义过滤器、动态路由与全链路日志监控
spring boot·python·rabbitmq·java-rabbitmq·数据库架构
九转苍翎4 天前
掌控消息全链路(2)——RabbitMQ/Spring-AMQP高级特性之消息可靠性和重试机制
spring·java-rabbitmq
小北方城市网5 天前
Spring Cloud 服务治理实战:构建高可用微服务体系
spring boot·python·rabbitmq·java-rabbitmq·数据库架构
what丶k5 天前
为何Kafka成为消息队列首选?深度对比RabbitMQ与RocketMQ
kafka·java-rocketmq·java-rabbitmq
小北方城市网6 天前
MySQL 索引优化实战:从慢查询到高性能
数据库·spring boot·后端·mysql·rabbitmq·mybatis·java-rabbitmq
洛阳纸贵6 天前
JAVA高级工程师-消息中间件RabbitMQ工作模式(二)
java·rabbitmq·java-rabbitmq