更新时间:2024-10-15 GMT+08:00

配置RabbitMQ镜像队列

镜像队列是指允许集群将队列镜像到其他节点上,当集群某一节点宕机后,队列能自动切换到镜像中的其他节点,保证服务的可用性。

本章节指导如何在RabbitMQ WebUI为Vhost配置镜像队列策略,满足策略条件的队列将成为镜像队列。

RabbitMQ AMQP-0-9-1版本不支持镜像队列。

前提条件

已创建集群版RabbitMQ实例。

配置RabbitMQ镜像队列

  1. 登录RabbitMQ实例的Web UI
  2. 在菜单栏,选择“Admin”。

    图1 选择Admin菜单

  3. (可选)如果您需要设置指定Vhost,请执行本步骤;如果不需要,请直接执行4

    选择右侧导航栏“Virtual Hosts”,然后输入“Name”,单击“Add virtual host”,创建Vhost。
    图2 创建Vhost

  4. 选择右侧导航栏“Policies”,为Vhost设置策略。

    图3 设置Vhost策略
    表1 策略参数说明

    参数

    说明

    Virtual Host

    设置策略所应用的Vhost。如果为指定的Vhost设置,请在“Virtual Host”选择3创建的Vhost;如果没有,则默认为“/”。

    Name

    策略的名称,用户自定义。

    Pattern

    Queue的匹配模式(正则表达式)。

    Apply to

    策略所适用的目标。

    Priority

    策略的优先级,数字越大,优先级越高。

    Definition

    镜像定义,包括三个部分ha-sync-mode、ha-mode、ha-params。

    • ha-sync-mode: 表示镜像队列中消息的同步方式,有效取值范围为:automatic和manual。
      • automatic:表示自动向master同步数据。
      • manual:表示手动向master同步数据。
    • ha-mode: 指明镜像队列的模式,有效取值范围为:all、exactly和nodes。
      • all:表示在集群所有的节点上进行镜像。
      • exactly:表示在指定个数的节点上进行镜像,节点的个数由ha-params指定。
      • nodes:表示在指定的节点上进行镜像,节点名称通过ha-params指定。
    • ha-params: ha-mode模式需要用到的参数。

  5. 单击“Add policy”。

    策略添加成功后如下图所示。

    图4 Vhost策略