当前位置: 首页 > news >正文

瑞安做网站建设设计培训学院

瑞安做网站建设,设计培训学院,国内做的好的电商网站有哪些方面,深圳开发网站建设docker rabbitmq集群 docker搭建rabbitmq集群 RabbitMQ提供了两种常用的集群模式 1.普通集群模式 2.镜像集群模式 普通集群模式只能同步主节点上的交换机和队列信息,但对于队列中的消息不做同步,主节点宕机也不能进行切换(故障转移&#xff…

docker rabbitmq集群 docker搭建rabbitmq集群

RabbitMQ提供了两种常用的集群模式
1.普通集群模式
2.镜像集群模式
普通集群模式只能同步主节点上的交换机和队列信息,但对于队列中的消息不做同步,主节点宕机也不能进行切换(故障转移)。

镜像集群模式在普通集群模式的基础上配置,可以使子节点备份master队列中的消息,也可以在master宕机时进行故障转移,切换至子节点提供服务。

由于镜像集群模式基于普通集群模式上进行配置,所以直接搭建普通集群模式。

普通集群搭建
首先要确保已经安装docker,从中央仓库拉取rabbitmq镜像

docker pull rabbitmq:management
在拉取镜像的时候闲着没事干,可以先创建目录后续用做挂载容器目录,这里我放在/tmp/下

mkdir /tmp/rabbitmqcluster
cd /tmp/rabbitmqcluster
mkdir rabbitmq01 rabbitmq02 rabbitmq03

运行rabbitmq镜像,需要多少个节点就启动多少个容器

##主节点
docker run -d --hostname rabbitmq01 --name rabbitmqCluster01 -v /tmp/rabbitmqcluster/rabbitmq01:/var/lib/rabbitmq -p 15672:15672 -p 5672:5672 -e RABBITMQ_ERLANG_COOKIE=‘rabbitmqCookie’ rabbitmq:management

##子节点
docker run -d --hostname rabbitmq02 --name rabbitmqCluster02 -v /tmp/rabbitmqcluster/rabbitmq02:/var/lib/rabbitmq -p 15673:15672 -p 5673:5672 -e RABBITMQ_ERLANG_COOKIE=‘rabbitmqCookie’ --link rabbitmqCluster01:rabbitmq01 rabbitmq:management

##子节点
docker run -d --hostname rabbitmq03 --name rabbitmqCluster03 -v /tmp/rabbitmqcluster/rabbitmq03:/var/lib/rabbitmq -p 15674:15672 -p 5674:5672 -e RABBITMQ_ERLANG_COOKIE=‘rabbitmqCookie’ --link rabbitmqCluster01:rabbitmq01 --link rabbitmqCluster02:rabbitmq02 rabbitmq:management

–hostsname 容器中的主机名,便于区分

–name 容器名

-v 挂载Linux的目录到容器内目录

-p 映射Linux系统的端口与容器内端口,注意要使用未被占用的端口,每个容器都有两个端口,15672为web页面的访问端口,5672为服务端口

-e 容器环境变量, RABBITMQ_ERLANG_COOKIE 是rabbitmq节点加入集群必须的认证手段

-link 使容器间可以通信

放行CentOS7虚拟机的端口

访问,并使用默认的guest账号登录(username:guest,password:guest)

http://192.168.16.223:15672

http://192.168.16.223:15673

http://192.168.16.223:15674

正常,继续下一步

使用docker exec进入主节点所在容器的主机

docker exec -it rabbitmqCluster01 /bin/bash

关闭rabbitmq应用,并重置节点数据,再重新启动应用

rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app
exit

进入子节点所在rabbitmq02主机

docker exec -it rabbitmqCluster02 /bin/bash

同样关闭应用,并重置节点数据,然后使用rabbitmqctl join_cluster指令加入主节点所在集群,完成后启动服务

rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbit@rabbitmq01
rabbitmqctl start_app
exit

然后进另一个子节点的主机,如法炮制

docker exec -it rabbitmqCluster03 /bin/bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbit@rabbitmq01
rabbitmqctl start_app
exit

此时可以在web界面的总览面板看到三个节点信息
在这里插入图片描述
此时搭建普通集群已完成

镜像集群配置
进入主节点所在容器主机

docker exec -it rabbitmqCluster01 /bin/bash

设置镜像集群策略(注意,策略可以在队列产生前设置,也可以在队列产生后设置)

rabbitmqctl set_policy --vhost “/MyVirtualHost” ha-all “^hello” ‘{“ha-mode”:“all”,“ha-sync-mode”:“automatic”}’

–vhost 需要使用镜像集群的虚拟主机(Virtual Host)也可不指定,不指定则视为"/"主机,这里我指定测试用的/MyVirtualHost

ha-all 是我指定的策略名

“^hello” 通配符匹配,这里指定队列名以hello开头的队列,如果需要指定所有队列使用 “^”

‘{“ha-mode”:“all”,“ha-sync-mode”:“automatic”}’ json格式的参数,其中ha-mode为镜像队列的模式,这里设置all,集群内所有节点都备份镜像;ha-sync-mode是消息队列同步方式,automatic自动同步

设置后在web界面可以看到队列的状态变化
在这里插入图片描述
删除策略,使用rabbitmqctl clear_policy --vhost 指令,name为你要删除的策略名,可选参数–vhost指定虚拟主机名,如果不指定默认为删除"/"的策略。这里因为我的策略是加在/MyVirtualHost这个虚拟主机上的,所以需要指定。

rabbitmqctl clear_policy ha-all --vhost “/MyVirtualHost”
clear成功

http://www.hkea.cn/news/165085/

相关文章:

  • 做图骂人的图片网站网络服务
  • wordpress主标题副标题seo基础
  • 淮安做网站优化百度竞价排名是什么方式
  • 食品公司网站源码谷歌网页
  • 做网站用哪种代码比较好推广seo发贴软件
  • 3d效果图软件宁波seo行者seo09
  • 美国做按摩广告的网站网站优化教程
  • wordpress云建站教程信息流广告公司一级代理
  • 我有一个域名怎么做网站百度一下下载
  • 郑州网站建设品牌好安装百度到桌面
  • 株洲做网站定制百度灰色词优化排名
  • 上海网页设计公司兴田德润电话排名优化外包公司
  • 做360网站优化快推广普通话宣传语手抄报
  • 动态网站开发语言有哪些大学生创新创业大赛
  • 关键词推广公司网站网络排名优化方法
  • 福州移动网站建设网络营销推广工具有哪些
  • win2008sr怎么用iis做网站国外网站加速
  • 合肥++网站建设磐石网站seo
  • 万网主机怎么上传网站如何在百度上投放广告
  • 做网站时如何给文字做超链接全球疫情最新数据消息
  • 四川省住建厅官方网站3分钟搞定网站seo优化外链建设
  • 做网站阳泉巨量千川广告投放平台
  • 温岭哪里有做网站的如何自制网站
  • 知道创于 wordpress搜索引擎优化宝典
  • 乌兰县wap网站建设公司有效获客的六大渠道
  • 微信网站开发教程视频教程百度一下主页官网
  • 网站开发专业前景关键词挖掘排名
  • 网站开发属于什么职位类别seo查询站长工具
  • wordpress postmetaseoul national university
  • 商务网站的主要存在形式杭州百度快照优化公司