Updated on 2024-11-11 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 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.8.35: ≤ 2047
  • RabbitMQ AMQP-0-9-1: ≤ 2000

Memory high watermark

≤ 40%

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

Available only for RabbitMQ 3.8.35 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.8.35 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.8.35.

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.

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 in RabbitMQ 3.8.35.

Broker Flavor

  • The broker flavor can be increased or decreased in RabbitMQ 3.8.35. The broker flavor can only be increased in RabbitMQ AMQP-0-9-1.
  • For single-node instances and cluster ones without mirrored/quorum queues configured, services may stutter for several minutes during the modification. Ensure that your client can auto-reconnect. Modify specifications during off-peak hours.
  • For cluster instances configured with mirrored/quorum queues, services may stutter for several seconds during the modification. Ensure that your client can auto-reconnect. Modify specifications during off-peak hours.

Virtual Host

Table 2 Constraint

Item

Constraint

Deleting a virtual host

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

Exchange

Table 3 Notes and exchanges

Item

Constraint

Default exchange

For RabbitMQ 3.8.35 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

  • In RabbitMQ 3.8.35, 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

In RabbitMQ 3.8.35, the default exchange cannot be deleted.

Queue

Table 4 Notes and constraints

Item

Constraint

Binding a queue

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

Lazy queues

Available only for RabbitMQ 3.8.35.

Quorum queues

Available only for RabbitMQ 3.8.35.

Single active consumer

Only available in RabbitMQ 3.8.35.

Message

Table 5 Notes and constraints

Item

Constraint

Message size

≤ 50 MB per message for RabbitMQ 3.8.35; ≤ 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.