ApsaraMQ for RabbitMQ has limits on clusters, characters, and peak transactions per second (TPS) traffic. Do not exceed these limits when you use ApsaraMQ for RabbitMQ. Exceeding these limits may cause program exceptions.
Cluster Limits
Limitations | Serverless Instances | Upfront Instance Series | |||
Shared | Exclusive | Enterprise Edition | Platinum Edition | Professional Edition | |
Reserved + Elastic / Payment by Cumulative Usage | Reserved + Elasticity | ||||
Number of Vhosts per instance | 200 | 2,000 | 200 | 4,096 | 200 |
Number of Exchanges per instance | 6,000 | 10,000 | 6,000 | 80,000 | 6,000 |
Number of Bindings per instance | 20,000 | 20,000 | 20,000 | None | 20,000 |
Number of Queues per instance | 6,000 | 10,000 | 6,000 | 80,000 | 6,000 |
Number of Connections per instance | Maximum connections: 10,000. | Maximum connections: 20,000. | Purchase by configuration. Each instance includes a free quota of 2,000 connections. The maximum number of connections per instance is 10,000. | You can purchase by instance type. A single instance has a free quota of 50,000 and a maximum of 100,000 connections. | Four times the number of queues. A single instance supports between 1000 and 5000 connections. |
Number of Queues bound to an Exchange | 256 | 256 You can submit a ticket to request customization. After customization, the instance cannot be downgraded to a shared cluster. | 256 | 256 For custom requirements, contact Alibaba Cloud technical support. | 256 |
Number of Consumers per Queue | Equal to the number of queues multiplied by 4. A single queue supports 800 to 5,000 consumers. | None | Equal to the number of queues multiplied by 4. A single queue supports 800 to 5,000 consumers. | None | Equal to the number of queues multiplied by 4. A single Queue supports 50 to 5,000 Consumers. |
Number of Channels per Connection | 2,000 | 3,000 | The number of channels per connection ranges from Min[number of queues, 2,048].
| 3,000 | The number of channels per connection is 64 or the number of queues.
|
Message size | 10 MB | 50 MB | 10 MB | 50 MB | 64 KB |
Maximum delay for delayed messages | 7 days | 7 days You can submit a ticket for customization requests. After customization, the instance cannot be downgraded to a shared cluster. | 7 days | 7 days For custom requirements, contact Alibaba Cloud technical support. | 24 hours |
Maximum message retention period | 3 days | 3 days | 3 days | 3 days | 3 days |
Maximum delivery attempts | 16 | 16 | 16 | 64 | 16 |
Maximum value: 3 hours. Default value: 5 minutes | Maximum value: 12 hours Default value: 30 minutes | Maximum value: 3 hours Default value: 5 minutes | Maximum value: 12 hours. Default value: 30 minutes | Maximum value: 10 minutes Default value: 1 minute | |
Character Limits
Limitations | Limit |
Queue name |
|
Exchange name |
|
Vhost name |
|
Binding Key |
|
Consumer Tag |
|
Message ID |
|
Throttling Thresholds
For more information about TPS counting rules, see TPS counting rules for Serverless instances and TPS counting rules for subscription instances.
For solutions to TPS rate limiting, see Solutions to total instance TPS rate limiting and Solutions to single-node TPS rate limiting.
Instance Total TPS Throttling Thresholds
Instance Type | Serverless Instances | Subscription Instances | ||||||
Specification | Shared | Exclusive | Elastic TPS Disabled | Elastic TPS Enabled | ||||
Reserved + Elastic / By Cumulative Usage | Reserved + Elastic | Enterprise Edition | Platinum Edition | Professional Edition | Enterprise Edition | Platinum Edition | Professional Edition | |
Throttling threshold | Maximum: 50,000 TPS | 2 × the peak TPS of the basic specification | Peak TPS of the basic specification | 2 × the peak TPS of the basic specification, with a maximum of 50,000 TPS | 2 × the peak TPS of the basic specification, with a maximum of 50,000 TPS | 1.5 × the peak TPS of the basic specification | ||
Single-Node SendMessage TPS Throttling Thresholds
The server-side limits the SendMessage TPS for each backend service node at the instance level. The throttling thresholds are as follows:
Limit | Serverless Instances | Subscription Instances | ||||
Shared | Exclusive | Enterprise Edition | Platinum Edition | Professional Edition | ||
By Cumulative Amount | Reserved + Elastic | Reserved + Elastic | ||||
Throttling threshold | 25,000 TPS | 25,000 TPS | None | 25,000 TPS | None | 25,000 TPS |
API Operation Throttling Thresholds
Limitations | Limits API | Serverless Instances | Subscription Instances | |||
Shared | Exclusive | Enterprise Edition | Platinum Edition | Professional Edition | ||
Reserved + Pay-as-you-go / Cumulative Usage-Based | Reserved + Elastic | |||||
Clear a queue on an instance |
| 500 TPS | None | 500 TPS | ||
Creating an Exchange for a Single Instance |
| 500 TPS | None | 500 TPS | ||
Delete an Exchange on an instance |
| 500 TPS | None | 500 TPS | ||
Create a Queue on an instance |
| 500 TPS | None | 500 TPS | ||
Delete a Queue on an instance |
| 500 TPS | None | 500 TPS | ||
Create a Binding on an instance |
| 500 TPS | None | 500 TPS | ||
Delete a Binding on an instance |
| 500 TPS | None | 500 TPS | ||
Single-instance message recovery |
| 500 TPS | None | 500 TPS | ||
Reentry Queue Message for a Single Instance |
| 20 TPS | None | 20 TPS | ||