rabbitmq本身不支持延迟队列,但是可以使用插件rabbitmq_delayed_message_exchange实现延迟队列;

下载

https://github.com/rabbitmq/rabbitmq-delayed-message-exchange
这里下载rabbitmq对应的文件即可,
但是本人公司使用的是3.6.5,比较老旧的版本,githup上已经不再提供相应的的包了,只有源码,这样情况下只能下载网上已经编译好的,或者自己编译

安装

把下载的文件rabbitmq_delayed_message_exchange-20171215-3.6.x.ez放倒rabbitmq的plugins下
然后执行

#启用rabbitmq_delayed_message_exchange
rabbitmq-plugins enable rabbitmq_delayed_message_exchange

然后可以查看rabbitmq_delayed_message_exchange是否被启用

 [root@qnxtest-mq /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.5/plugins]# rabbitmq-plugins list
 Configured: E = explicitly enabled; e = implicitly enabled
 | Status:   * = running on rabbit@qnxtest-mq
 |/
[e*] amqp_client                       3.6.5
[e*] mochiweb                          2.13.1
[  ] rabbitmq_amqp1_0                  3.6.5
[E*] rabbitmq_delayed_message_exchange 20171215-3.6.x
[  ] rabbitmq_event_exchange           3.6.5
[  ] rabbitmq_federation               3.6.5
[E*] rabbitmq_management               3.6.5
[e*] rabbitmq_management_agent         3.6.5
[  ] rabbitmq_management_visualiser    3.6.5
[  ] rabbitmq_mqtt                     3.6.5
[e*] rabbitmq_web_dispatch             3.6.5
[  ] sockjs                            0.3.4
[e*] webmachine                        1.10.3

[E*]和[e*]表示启用
然后重启rabbitmq即可

service rabbitmq-server restart
或者
rabbitmq-server restart

然后打开mq管理界面就可以看到x-delayed-message,即表示延迟队列安装成功,使用延迟队列记得参数加上x-delayed-type
在这里插入图片描述

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐