docker 集成rabbitmq集群

拉取rabbitmq镜像

docker pull rabbitmq:3.0-management

启动rabbitmq容器

docker run -d --hostname rabbitmq01 --name rabbitmqCluster01  -p 15672:15672 -p 5672:5672 -e RABBITMQ_ERLANG_COOKIE='rabbitmqCookie' rabbitmq:3.0-management



docker run -d --hostname rabbitmq02 --name rabbitmqCluster02  -p 15673:15672 -p 5673:5672 -e RABBITMQ_ERLANG_COOKIE='rabbitmqCookie'  --link rabbitmqCluster01:rabbitmq01 rabbitmq:3.0-management



docker run -d --hostname rabbitmq03 --name rabbitmqCluster03  -p 15674:15672 -p 5674:5672 -e RABBITMQ_ERLANG_COOKIE='rabbitmqCookie'  --link rabbitmqCluster01:rabbitmq01 --link rabbitmqCluster02:rabbitmq02  rabbitmq:3.0-management

 

启动容器成功后,读者可以访问
http://宿主ip:15672/#/
http://宿主ip:15673/#/
http://宿主ip:15674/#/

查看是否正常启动成功。账号/密码:guest / guest

容器节点加入集群

进入第一个rabbitmq节点容器:

docker exec -it rabbitmqCluster01 bash

进入容器后,操作rabbitmq,执行如下命令:

rabbitmqctl stop_app

rabbitmqctl reset

rabbitmqctl start_app

exit

接下来,进入第二个rabbitmq节点容器,执行如下命令:

docker exec -it rabbitmqCluster02 bash

rabbitmqctl stop_app

rabbitmqctl reset

rabbitmqctl join_cluster --ram rabbit@rabbitmq01

rabbitmqctl start_app

exit

进入第三个rabbitmq节点容器,执行如下命令:

docker exec -it rabbitmqCluster03 bash

rabbitmqctl stop_app

rabbitmqctl reset

rabbitmqctl join_cluster --ram rabbit@rabbitmq01

rabbitmqctl start_app

exit

 

实现镜像模式集群。进入rabbitmqCluster01容器中

docker exec -it rabbitmqCluster01 bash
rabbitmqctl set_policy mypolicy "^" '{"ha-mode":"all"}'
exit

可以看出设置镜像队列,一共有三个参数,每个参数用空格分割。

参数一:名称,可以随便填;

参数二:队列名称的匹配规则,使用正则表达式表示;

参数三:为镜像队列的主体规则,是json字符串,分为三个属性:ha-mode | ha-params | ha-sync-mode,分别的解释如下:

ha-mode:镜像模式,分类:all/exactly/nodes,all存储在所有节点;exactly存储x个节点,节点的个数由ha-params指定;nodes指定存储的节点上名称,通过ha-params指定;

ha-params:作为参数,为ha-mode的补充;

ha-sync-mode:镜像消息同步方式:automatic(自动),manually(手动);

4、测试

浏览器打开地址http://宿主ip:15672/#/

 

切换到queues目录下添加队伍

 

 

点击队伍名称,然后发送消息

 

可以看到队伍里有一条准备的消息

 

停掉rabbitmqCluster01

docker exec -it rabbitmqCluster01 bash

rabbitmqctl stop_app

 

此时访问rabbitmqCluster02 http://宿主ip:15673/#/可以看到消息仍然存在,说明集成成功。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值