Updated on 2025-07-03 GMT+08:00

Notes and Constraints

This section describes the notes and constraints on Huawei Cloud Distributed Message Service (DMS) for RabbitMQ. Use your RabbitMQ instances as prescribed to avoid program exceptions.

Any instability caused by ignorance of the notes and constraints is not covered by the SLA.

Instance

Table 1 Notes and constraints

Item

Constraint

Version

Server version: 3.8.35, 3.12.13, and AMQP-0-9-1

Number of connections

The allowed number of connections differs by instance specifications and mode (single-node or cluster). For details, see Specifications.

Channels

Number of channels that can be created for a single connection is as follows:

  • RabbitMQ 3.x.x: ≤ 2,047
  • RabbitMQ AMQP-0-9-1: ≤ 2,000

Memory high watermark

≤ 40%

If the memory usage exceeds 40%, the high memory watermark may be triggered, blocking publishers.

Available only for RabbitMQ 3.x.x instances.

Disk high watermark

≥ 5 GB

If the remaining disk space is less than 5 GB, the high disk watermark is triggered, blocking publishers.

Available only for RabbitMQ 3.x.x instances.

cluster_partition_handling

pause_minority

When a network partition occurs in a cluster, cluster brokers will determine whether they are in a minority, that is, fewer than or equal to the total number of brokers. Minority brokers pause when a partition starts, detect the network status periodically, and start again when the partition ends. If queue mirroring is not enabled, queue replicas in the minority will no longer be available for message creation and retrieval.

This strategy sacrifices availability for data consistency.

RabbitMQ plug-ins

RabbitMQ plug-ins can be used for testing and service migration. Do not use them for production. Reliability issues caused from using plug-ins are not within commitments on SLAs.

Available only for RabbitMQ 3.x.x.

VPC, subnet, and AZ

After an instance is created, its VPC, subnet, and AZ cannot be modified.

Storage space per broker

  • The storage space can be expanded but cannot be reduced.
  • You can expand the storage space 20 times.

Broker quantity

  • The broker quantity can be increased but cannot be decreased for a cluster instance.
  • Services may temporarily stutter during the broker increase. Ensure that your client can auto-reconnect. Modify specifications during off-peak hours.
  • This function is not available for single-node instances.

Available only for RabbitMQ 3.x.x.

Broker Flavor

  • The broker flavor can be increased or decreased for RabbitMQ 3.x.x. The broker flavor can only be increased for RabbitMQ AMQP-0-9-1.
  • RabbitMQ AMQP-0-9-1: For single-node and cluster instances, intermittent disconnections may occur for several seconds during the modification. Ensure that your client can auto-reconnect. Modify specifications during off-peak hours.
  • For single-node RabbitMQ 3.x.x instances, nodes are restarted and services may temporarily stutter in minutes during the modification. Ensure that your client can auto-reconnect. Modify specifications during off-peak hours.
  • For cluster RabbitMQ 3.x.x instances not configured with mirrored/quorum queues, nodes are restarted in sequence and services may stutter in minutes during the modification. Ensure that your client can auto-reconnect. Modify specifications during off-peak hours.
  • For cluster RabbitMQ 3.x.x instances not configured with mirrored/quorum queues, nodes are restarted in sequence and services may stutter for several seconds during the modification. Ensure that your client can auto-reconnect. Modify specifications during off-peak hours.
  • During the modification of cluster RabbitMQ 3.x.x instances, connections to the changed nodes will be switched to other nodes, posing overload risks (for example, connections excess or memory high watermark) on them. You are advised to use them within the instance specifications. For more information, see Specifications.
  • Persistent exchanges, queues, and messages are required. Otherwise, messages may be lost after node restarts.

ping command

  • Single-node instances support the ping command with both private and public connection addresses.
  • Cluster instances only support the ping command with private connection addresses.

Virtual Host

Table 2 Constraint

Item

Constraint

Deleting a virtual host

The default virtual host created in instance creation cannot be deleted.

Vhost

  • When a virtual host name of a RabbitMQ 3.x.x instance starts with a special character, such as a period (.), the monitoring data may not be displayed. When a virtual host name contains special characters such as percent (%), vertical bar (|), or slash (/), this name is not consistently displayed on the monitoring page. The special characters are displayed as underscores (_) instead. For example, virtual host Vhost.1%1|2_3/ is displayed as Vhost.1_1_2_3_ in monitoring.
  • When a virtual host name of a RabbitMQ AMQP-0-9-1 instance contains special characters such as percent (%), vertical bar (|), slash (/), and period (.), this name is not consistently displayed on the monitoring page. The special characters are displayed as underscores (_). For example, virtual host Vhost.1%1|2_3/ is displayed as Vhost_1_1_2_3_ in monitoring.

Exchange

Table 3 Notes and exchanges

Item

Constraint

Default exchange

For RabbitMQ 3.x.x instances, seven exchanges are created by default after virtual host creation. These exchanges include (AMQP default), amq.direct, amq.fanout, amq.headers, amq.match, amq.rabbitmq.trace, and amq.topic.

Binding an exchange

  • For RabbitMQ 3.x.x, the exchange (AMQP default) cannot be bound with any exchange.
  • Internal exchanges can only be bound with exchanges and not queues.
  • In RabbitMQ AMQP-0-9-1, exchanges can only be bound with queues and not exchanges.

Deleting an exchange

For RabbitMQ 3.x.x, the default exchange cannot be deleted.

Exchange

When an exchange name of a RabbitMQ AMQP-0-9-1 instance contains special characters such as percent (%), vertical bar (|), slash (/), andperiod (.), this name is not consistently displayed on the monitoring page. The special characters are displayed as underscores (_). For example, exchange Exchange.1%1|2_3/ is displayed as Exchange_1_1_2_3_ in monitoring.

Queue

Table 4 Notes and constraints

Item

Constraint

Binding a queue

  • For RabbitMQ 3.x.x, the exchange (AMQP default) cannot be bound with any queue.
  • Internal exchanges can only be bound with exchanges and not queues.

Lazy queues

Available for RabbitMQ 3.8.35 and later.

Quorum queues

Available for RabbitMQ 3.8.35 and later.

Single active consumer

Available for RabbitMQ 3.8.35 and later.

Queue

  • When a queue name of a RabbitMQ 3.x.x instance starts with a special character, such as a period (.), the monitoring data may not be displayed. When a queue name contains special characters such as percent (%), vertical bar (|), and slash (/), this name is not consistently displayed on the monitoring page. The special characters are displayed as underscores (_) instead. For example, queue Queue.1%1|2_3/ is displayed as Queue.1_1_2_3_ in monitoring.
  • When a queue name of a RabbitMQ AMQP-0-9-1 instance contains special characters such as percent (%), vertical bar (|), slash (/), and period (.), this name is not consistently displayed on the monitoring page. The special characters are displayed as underscores (_). For example, queue Queue.1%1|2_3/ is displayed as Queue_1_1_2_3_ in monitoring.

Message

Table 5 Notes and constraints

Item

Constraint

Message size

≤ 50 MB per message for RabbitMQ 3.x.x; ≤ 4 MB per message for RabbitMQ AMQP-0-9-1.

Do not send a message larger than 50 MB. Otherwise, the message will fail to be created.