RabbitMQ高可用mirror镜像集群策略配置

DBC 2.3K 0

背景

前面搭建了普通集群,如果磁盘节点挂掉后,如果没开启持久化数据就丢失了,其他节点也无法获取消息,所以我们这个集群方案需要进一步改造为镜像模式集群。
策略policy介绍

rabbitmq的策略policy是用来控制和修改集群的vhost队列和Exchange复制行为
就是要设置哪些Exchange或者queue的数据需要复制、同步,以及如何复制同步
创建一个策略来匹配队列

路径:rabbitmq管理页面 —> Admin —> Policies —> Add / update a policy

参数: 策略会同步同一个VirtualHost中的交换器和队列数据

name:自定义策略名称
Pattern:^ 匹配符,代表匹配所有
Definition:ha-mode=all 为匹配类型,分为3种模式:all(表示所有的queue)
ha-mode: 指明镜像队列的模式,可选下面的其中一个
all:表示在集群中所有的节点上进行镜像同步(一般都用这个参数)
exactly:表示在指定个数的节点上进行镜像同步,节点的个数由ha-params指定
nodes:表示在指定的节点上进行镜像同步,节点名称通过ha-params指定

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

RabbitMQ高可用mirror镜像集群策略配置插图

RabbitMQ高可用mirror镜像集群策略配置插图2

集群重启顺序

集群重启的顺序是固定的,并且是相反的
启动顺序:磁盘节点 => 内存节点
关闭顺序:内存节点 => 磁盘节点
最后关闭必须是磁盘节点,否则容易造成集群启动失败、数据丢失等异常情况

我来说明

可能会重要的内容,这里的磁盘节点也就是我们的主节点,在我们这里的例子是第一个,而第三、第二个也就是内存节点了,可以这样理解!

总结

通过配置策略,我们能够做到在主节点挂掉之后,其他的从节点依然能够看到挂掉前的消息,并且也可以进行消费!

发表评论 取消回复
表情 图片 链接 代码

分享