rabbitMq的延迟队列使用TTL+死信队列存在一定的问题,所以使用过程中会通过rabbitMq的插件去进行实现延迟队列,下载插件之前,首先要知道我们docker环境下使用的rabbitMq的版本是多少,根据rabbitMq的版本下载相应的插件版本

 如果有同学不知道如何查看docker中安装的版本可以使用以下指令

docker images

看到image的版本为latest为最新的

 但是没有详细的版本信息,要查看具体的版本信息通过

docker image inspect a99a39d070bf

通过指令查看到了docker下安装的rabbitmq的一些版本等详情信息,可以看到我本地安装的rabbitmq的版本为3.9.11

 下载Rabbit-delayed-message-exchage插件,下载地址为:

Releases · rabbitmq/rabbitmq-delayed-message-exchange · GitHub

因为我docker环境下的rabbitmq的版本为3.9.11,所以安装插件我选择3.9.0的版本去下载

 下载完成之后将插件通过sftp工具上传到虚拟机,上传虚拟机完成后,通过docker cp指令将虚拟机上的插件拷贝到rabbitmq容器的plugins下,拷贝成功之后执行docker exec -it 8a4ff4f73ffd /bin/bash 进入到容器内部,查看plugins目录下是否拷贝成功

 docker cp ./rabbitmq_delayed_message_exchange-3.9.0.ez rabbitmq:/plugins

拷贝成功之后执行以下指令启动相应插件即可

rabbitmq-plugins enable rabbitmq_delayed_message_exchange

启动完成之后重新docker中的rabbitMq容器,重启完成之后,进行rabbitMq的后台管理界面点开Exchange交换机查看type类型中否有X-delayed-message,如果有的话则代表插件安装完成。

 

Logo

欢迎加入我们的广州开发者社区,与优秀的开发者共同成长!

更多推荐