分布式消息服务RABBITMQ版-配置RabbitMQ镜像队列:配置RabbitMQ镜像队列

时间:2024-11-07 16:43:28

配置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模式需要用到的参数。
    说明:

    如果将队列镜像到集群所有节点上,可能会导致集群承受不必要的网络及磁盘I/O流量。因此,推荐您使用以下参数配置:

    • ha-sync-mode: automatic
    • ha-mode: exactly
    • ha-params: n/2+1,其中n表示集群中总节点数量。

      例如集群总节点数为3,ha-params设置为3/2+1=2,此时队列将镜像到一个主节点和一个从节点上。这样配置既保证了数据的高可用性,又避免了不必要的资源开销。

  5. 单击“Add policy”。

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

    图4 Vhost策略

support.huaweicloud.com/usermanual-rabbitmq/rabbitmq-ug-200219001.html