2.安装DelayExchange插件

部署高级篇2.安装插件 3.集群部署4.镜像模式 4.3.测试5.仲裁队列
1.单机部署
我们在虚拟机中使用来安装 。
1.1.下载镜像
方式一:在线拉取
docker pull rabbitmq:3.8-management
方式二:从本地加载
下载镜像包上传到虚拟机中后,使用命令加载镜像即可:
docker load -i mq.tar
1.2.安装MQ
执行下面的命令来运行MQ容器:
docker run \-e RABBITMQ_DEFAULT_USER=root \-e RABBITMQ_DEFAULT_PASS=root \-v mq-plugins:/plugins \--name mq \--hostname mq1 \-p 15672:15672 \-p 5672:5672 \-d \rabbitmq:3.8-management
2.安装插件
官方的安装指南地址为:
上述文档是基于linux原生安装,然后安装插件 。
因为我们之前是基于安装,所以下面我们会讲解基于来安装插件 。
2.1.下载插件
有一个官方的插件社区,地址为:
其中包含各种各样的插件,包括我们要使用的插件:
大家可以去对应的页面下载3.8.9版本的插件,地址为这个对应的3.8.5以上版本 。
2.2.上传插件
因为我们是基于安装,所以需要先查看的插件目录对应的数据卷 。如果不是基于的同学,请参考第一章部分,重新创建容器 。
我们之前设定的的数据卷名称为mq-,所以我们使用下面命令查看数据卷:
docker volume inspect mq-plugins
可以得到下面结果:
接下来,将插件上传到这个目录即可:
2.3.安装插件
最后就是安装了,需要进入MQ容器内部来执行安装 。我的容器名为mq,所以执行下面命令:
docker exec -it mq bash
执行时,请将其中的 -it 后面的mq替换为你自己的容器名.
进入容器内部后,执行下面命令开启插件:
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
结果如下:
3.集群部署
接下来,我们看看如何安装的集群 。
2.1.集群分类
在的官方文档中,讲述了两种集群的配置方式:
我们先来看普通模式集群,我们的计划部署3节点的mq集群:
主机名控制台端口amqp通信端口
mq1
8081 —> 15672
8071 —> 5672
mq2
8082 —> 15672
8072 —> 5672
mq3
8083 —> 15672
8073 —> 5672
集群中的节点标示默认都是:@[],因此以上三个节点的名称分别为:
2.2.获取
底层依赖于,而虚拟机就是一个面向分布式的语言,默认就支持集群模式 。集群模式中的每个 节点使用来确定它们是否被允许相互通信 。
要使两个节点能够通信,它们必须具有相同的共享秘密,称为。只是一串最多 255 个字符的字母数字字符 。
每个集群节点必须具有相同的。实例之间也需要它来相互通信 。
我们先在之前启动的mq容器中获取一个值,作为集群的 。执行下面的命令:
docker exec -it mq cat /var/lib/rabbitmq/.erlang.cookie
可以看到值如下:
FXZMCVGLBIXZCDEMMVZQ
接下来,停止并删除当前的mq容器,我们重新搭建集群 。

2.安装DelayExchange插件

文章插图
docker rm -f mq
2.3.准备集群配置
在/tmp目录新建一个配置文件 .conf: