做网站的分辨率多少,wordpress 教学培训,简单个人网站源码,导航网文章目录一、 基础知识汲取1.1. 镜像集群简述1.2. 策略参数说明1.3. 策略案例二、HA mode 同步方式2.1. 参数说明2.2. 案例2.3. 命令终端形式2.4. MQ管控台设置2.5. 队列同步2.5. 优缺点三、Ha async mode 同步方式#xff08;推荐使用#xff09;3.1. 参数说明3.2. 案例3.3.…
文章目录一、 基础知识汲取1.1. 镜像集群简述1.2. 策略参数说明1.3. 策略案例二、HA mode 同步方式2.1. 参数说明2.2. 案例2.3. 命令终端形式2.4. MQ管控台设置2.5. 队列同步2.5. 优缺点三、Ha async mode 同步方式推荐使用3.1. 参数说明3.2. 案例3.3. 命令终端形式3.4. MQ管控台设置四、ha-mode:nodes镜像到到集群中指定节点4.1. 参数说明4.2. 案例4.3. 命令终端形式4.4. MQ管控台设置五、策略区配正则5.1. 以LFY_开头的队列应用此策略5.2. 以_LOG结尾的队列应用此策略5.3. 第3种以QUEUE_开头的队列应用此策略。但是指定同步的节点是第2种 的演化形式一、 基础知识汲取
1.1. 镜像集群简述
镜像集群模式是在RabbitMQ Cluster默认集群的基础上添加策略搭建完成的
RabbitMQ默认集群模式并不包管队列的高可用性尽管队列信息交换机、绑定这些可以复制到集群里的任何一个节点然则队列内容不会复制固然该模式解决一项目组节点压力但队列节点宕机直接导致该队列无法应用只能守候重启所以要想在队列节点宕机或故障也能正常应用,就要复制队列内容到集群里的每个节点须要创建镜像队列。 跟普通集群模式不一样的是在镜像集群模式下你创建的 queue无论元数据还是 queue 里的消息都会存在于多个实例上就是说每个 RabbitMQ 节点都有这个 queue 的一个完整镜像包含 queue 的全部数据的意思。然后每次你写消息到 queue 的时候都会自动把消息同步到多个实例的 queue 上。
1.2. 策略参数说明
rabbitmqctl set_policy [-p Vhost] Name Pattern Definition [Priority]-p Vhost 可选参数针对指定vhost下的queue进行设置Name: policy的名称Pattern: queue的匹配模式(正则表达式)Definition镜像定义包括三个部分ha-mode, ha-params, ha-sync-modeha-mode:指明镜像队列的模式有效值为 all/exactly/nodesall表示在集群中所有的节点上进行镜像exactly表示在指定个数的节点上进行镜像节点的个数由ha-params指定nodes表示在指定的节点上进行镜像节点名称通过ha-params指定ha-paramsha-mode模式需要用到的参数ha-sync-mode进行队列中消息的同步方式有效值为automatic和manualpriority可选参数policy的优先级请注意一个事实镜像配置的pattern 采用的是正则表达式匹配也就是说会匹配一组。1.3. 策略案例
常见的3中设置
#格式rabbitmqctl set_policy [-p Vhost] Name Pattern Definition [Priority]
#第1种
rabbitmqctl set_policy policy3l ^ {ha-mode:all}
#第2种
rabbitmqctl set_policy policy2 ^ {ha-mode:all,ha-sync-mode:automatic}
#第3种
rabbitmqctl set_policy -p / policy3 ^QUEUE {ha-mode:nodes,ha-params:[rabbitmq-002,rabbitmq-003],ha-sync-mode:automatic}二、HA mode 同步方式
2.1. 参数说明
One of all (mirror to all nodes in the cluster), exactly (mirror to a set number of nodes) or nodes (mirror to an explicit list of nodes). If you choose one of the latter two, you must also set ha-params. HA mode的值共有三个
.all:镜像同步到集群队列的所有节点 .exactly按个数同步到集群中的一个或多个节点 . nodes具体的节点名称 如果选择后面两个选项的的值还需要设置ha-params参数。
2.2. 案例
所有队列设置为镜像队列即队列会被复制到集群各个节点
各个集群节点交换机、队列、队列内容都保持一致。2.3. 命令终端形式
rabbitmqctl set_policy policy3l ^ {ha-mode:all}2.4. MQ管控台设置 2.5. 队列同步
集群节点宕机或停电重启后queue-1队列需要手动同步
rabbitmqctl sync_queue queue-1 2.5. 优缺点
自动同步交换机队列但是集群某节点宕机或者停电都需要手动同步有点麻烦万一忘了怎么办呢对吧
三、Ha async mode 同步方式推荐使用
3.1. 参数说明
这个需要详细说明的默认的情况下。当节点断线后那么这个节点就已经是落后的版本当我们再去启动节点的时候数据我们需要去手动的同步这自然是不好的做到自动化是最完美的所以设置成automatic是最佳选择
新建策略ha-allha-mode: all 镜像到集群中所有的节点 Pattern: ^ Apply to :Exchanges and queues ha-mode: all //应用于所有节点 ha-sync-mode:automatic Priority 0
3.2. 案例
所有队列设置为镜像队列即队列会被复制到集群各个节点
各个集群节点交换机、队列、队列内容都保持一致。3.3. 命令终端形式
rabbitmqctl set_policy policy2 ^ {ha-mode:all,ha-sync-mode:automatic}3.4. MQ管控台设置 ha-all应用效果 queue-1节点后的2表示镜像到2个节点因为ha-modeall共有集群共有三个节点2表示将队列镜像到另外两个节点
四、ha-mode:nodes镜像到到集群中指定节点
4.1. 参数说明
新建策略policy3 Pattern: ^QUEUE_ Apply to :queues Definition ha-mode: nodes ha-params: rabbitmq-002 rabbitmq-003 ha-sync-mode: automatic Priority 0
4.2. 案例
所有队列设置为镜像队列即队列会被复制到集群指定节点
各个集群节点交换机、队列、队列内容都保持一致。4.3. 命令终端形式
rabbitmqctl set_policy -p / policy3 ^QUEUE {ha-mode:nodes,ha-params:[rabbitmq-002,rabbitmq-003],ha-sync-mode:automatic}4.4. MQ管控台设置 五、策略区配正则 5.1. 以LFY_开头的队列应用此策略 5.2. 以_LOG结尾的队列应用此策略 5.3. 第3种以QUEUE_开头的队列应用此策略。但是指定同步的节点是第2种 的演化形式