Docker安装RabbitMQ并安装延迟插件

安装Docker

一键安装docker

curl -sSL https://get.daocloud.io/docker | sh

启动docker

sudo systemctl start docker

Docker内安装RabbitMQ

拉取镜像

docker pull rabbitmq:management

启动镜像

注意修改用户名和密码

docker run -d -p 5672:5672 -p 15672:15672 -p 15674:15674  -p 5671:5671  -p 15671:15671 --name rabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin rabbitmq:management

参数说明

-d 后台运行容器;
--name 指定容器名;
-p 指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号);
-v 映射目录或文件;
--hostname  主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名);
-e 指定环境变量;(RABBITMQ_DEFAULT_USER:默认的用户名;RABBITMQ_DEFAULT_PASS:默认用户名的密码)

下载延迟插件

查看镜像的信息获取版本号

docker inspect rabbitmq:management

示例(信息较多,耐心找一下~)
镜像的信息获取版本号

根据版本号下载延迟插件

下载地址:https://www.rabbitmq.com/community-plugins.html
如下图所示,点Releases,会跳转到GitHub

下载延时插件
如下图所示,我的RabbitMQ 版本是3.9.14,我这里选择下载3.9.0版本的插件
GitHub下载延时插件
将插件文件上传到服务器,我这里是直接上传到/root下了

安装插件并启用

将刚刚上传的插件拷贝到容器内plugins目录下

docker cp /root/rabbitmq_delayed_message_exchange-3.9.0.ez rabbit:/plugins

我刚刚是将插件上传到/root下了; rabbit是容器的name,也可以使用容器id

进入到RabbitMQ容器内部

docker exec -it rabbit /bin/bash

查看插件是否存在

cd plugins
ls |grep delay

启用插件

(注意是在plugins内)

rabbitmq-plugins enable rabbitmq_delayed_message_exchange

启用插件
从容器内退出

exit

重启RabbitMQ容器

docker restart rabbit

容器启动成功之后,登录RabbitMQ的管理界面(ip:15672 访问web界面),找到ExchangesTab页。点击Add a new exchange,在Type里面查看是否有x-delayed-message选项,如果存在就代表插件安装成功。
插件安装成功

Java SpringBoot 代码部分

其他部分代码都是通常的代码,只有声明交换机是特殊的

/**
 * 声明交换机
 *
 * @return
 */
@Bean("delayExchange")
public Exchange delayExchange(){
	Map<String, Object> args = new HashMap<>(1);
    args.put("x-delayed-type", "direct");
    return new CustomExchange("delay.exchange", "x-delayed-message", true, false, args);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值