准备工具及技术: 准备3个节点安装好rabbitmq,形成集群(记得每个节点间隔⼏⼗秒再启动,如果失败删除宿主机⽂件重新搭建) 访问节点⼀的web管控台,可以看到多个节点 建立在普通集群环境上添加规则集合 注意:集群重启顺序 集群重启的顺序是固定的,并且是相反的 启动顺序:磁盘节点=内存节点 关闭顺序:内存节点=磁盘节点 最后关闭必须是磁盘节点,否则容易造成集群启动失败、数据丢失等异常情况
Docker节点⼆,创建-v映射⽬录dockerrun-d--hostnamerabbit_host2--namerabbitmq2-p15673:15672-p5673:5672--linkrabbitmq1:rabbit_host1-eRABBITMQ_NODENAME=rabbit-eRABBITMQ_DEFAULT_USER=admin-eRABBITMQ_DEFAULT_PASS=admin-eRABBITMQ_ERLANG_COOKIE='rabbitmq_cookie_xdclass'--privileged=true-v/usr/local/rabbitmq/1/lib:/var/lib/rabbitmq-v/usr/local/rabbitmq/1/log:/var/log/rabbitmqrabbitmq:management节点⼀配置集群dockerexec-itrabbitmq1bashrabbitmqctlstop_apprabbitmqctlresetrabbitmqctlstart_appexit节点三加⼊集群,--ram是以内存⽅式加⼊,忽略该参数默认为磁盘节点。dockerexec-itrabbitmq3bashrabbitmqctlstop_apprabbitmqctlresetrabbitmqctljoin_cluster--ramrabbit@rabbit_host1rabbitmqctlstart_appexit查看集群节点状态,配置启动了3个节点,1个磁盘节点和2个内存节点rabbitmqctlcluster_status
name:⾃定义策略名称Pattern:^匹配符,代表匹配所有Definition:ha-mode:指明镜像队列的模式,可选下⾯的其中⼀个all:表示在集群中所有的节点上进⾏镜像同步(⼀般都⽤这个参数)exactly:表示在指定个数的节点上进⾏镜像同步,节点的个数由ha-params指定nodes:表示在指定的节点上进⾏镜像同步,节点名称通过ha-params指定ha-sync-mode:镜像消息同步⽅式automatic(⾃动),manually(⼿动)