rabbitmq安装延迟队列

embedded/2025/1/19 18:31:07/

在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选项,如下图所示:

表示插件已经安装成功

 结尾:样例小程序二维码,自己做的一个免费好用的排班小程序


http://www.ppmy.cn/embedded/155290.html

相关文章

Uniapp判断设备是安卓还是 iOS,并调用不同的方法

在 UniApp 中,可以通过 uni.getSystemInfoSync() 方法来获取设备信息,然后根据系统类型判断当前设备是安卓还是 iOS,并调用不同的方法。 示例代码 export default {onLoad() {this.checkPlatform();},methods: {checkPlatform() {// 获取系…

SQL刷题快速入门(三)

其他章节: SQL刷题快速入门(一) SQL刷题快速入门(二) 承接前两个章节,本系列第三章节主要讲SQL中where和having的作用和区别、 GROUP BY和ORDER BY作用和区别、表与表之间的连接操作(重点&…

【Docker】——安装Docker以及解决常见报错

🎼个人主页:【Y小夜】 😎作者简介:一位双非学校的大二学生,编程爱好者, 专注于基础和实战分享,欢迎私信咨询! 🎆入门专栏:🎇【MySQL&#xff0…

C# 开发aspx文件中js获取<asp:label>的数值

想要实现功能&#xff1a;依据窗口的某些参数&#xff0c;打开新窗口来展示其详细信息。 尝试了以下的三种方法&#xff0c;最终还是选择了【第一种】&#xff0c;剩下两种没有实现。 一、通过<a>标签的方式 在合适的位置&#xff0c;通过<a οnclick"OpenDet…

在 JIRA 中利用仪表盘功能生成 Bug 相关图表的手册

引言 JIRA 是 Atlassian 推出的项目管理工具&#xff0c;广泛应用于软件开发、团队协作和问题跟踪。对于开发团队和项目经理而言&#xff0c;能够清晰地了解当前 Bug 状态、优先级分布及进展情况至关重要。JIRA 提供了强大的 仪表盘功能&#xff0c;让用户能够通过各种图表直观…

haproxy+httpd网站架构,实现负载均衡实验笔记

前提准备&#xff1a; 两台httpd&#xff0c;一台haproxy&#xff0c;NFS部署在任意一台httpd上http1&#xff1a;192.168.180.110http2&#xff1a;192.168.180.120&#xff0c;NFShaproxy&#xff1a;192.168.180.100 http&#xff08;两台httpd的操作是一样的&#xff09;…

phaserjs+typescript游戏开发之camera实现

以下是一个使用 Phaser.js 和 TypeScript 实现的示例&#xff0c;包含玩家移动、摄像机跟随并限制在游戏世界范围内的基本功能。 TypeScript 和 Phaser.js 实现的完整代码 安装 Phaser.js&#xff08;使用 npm&#xff09; 首先&#xff0c;确保你已经安装了 Node.js 和 npm…

wsl 使用 docker

直接在 wsl 安装 docker , 有可能会失败&#xff0c;可以通过在 windows 安装 Docker Desktop&#xff0c;然后连接 wsl 进行解决 注意&#xff1a; 1. 需要先安装 wsl 2. 使用时要先启动 docker Desktop, 才能在 wsl 中使用 下载&#xff1a; Docker: Accelerated Containe…