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

Notes and Constraints

This section describes the notes and constraints on 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

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: ≤ 2047

Memory high watermark

≤ 40%

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

Disk high watermark

≥ 5 GB

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

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_delayed_message_exchange

There may be an error of about 1%. The actual delivery time may be earlier or later than the scheduled delivery time.

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.

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.

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.
  • On Cloud Eye, a special character (.) is counted as five characters. If the name of a virtual host of a RabbitMQ 3.x.x instance contains periods (.) and the counted total length exceeds 256 characters, monitoring data may not be displayed.

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.

Deleting an exchange

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

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.
  • On Cloud Eye, a special character (.) is counted as five characters. If the name of a queue of a RabbitMQ 3.x.x instance contains periods (.) and the counted total length exceeds 256 characters, monitoring data may not be displayed.

Message

Table 5 Notes and constraints

Item

Constraint

Message size

≤ 50 MB per message

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