Message Queue for RabbitMQ imposes limits on instances, calls to methods, and characters used to name resources. When you use Message Queue for RabbitMQ, make sure that all the related requirements are met. Otherwise, an exception may occur.

Limits on instances

Item Professional Edition Platinum Edition
Number of vhosts per instance Equal to the number of queues. Valid values: [16,200]. 4,096
Number of connections per instance Equal to the number of queues multiplied by 4. Valid values: [1000,5000]. 50,000
Number of exchanges per vhost Equal to the number of queues. Minimum value: 16. 8,192
Number of bindings per vhost Equal to the number of queues multiplied by 10. Valid values: [4096,20000]. Not limited
Number of consumers per queue Equal to the number of queues multiplied by 4. Valid values: [50,5000]. Not limited
Number of channels per connection Equal to the number of queues. Minimum value: 64. 3,000
Message size 64 KB 1 MB
Maximum retention period for a delayed message 24 hours 24 hours
Maximum retention period for a message Three days Three days
Maximum number of times a message can be requeued 16 64

Limits on calls to methods

Notice
  • Professional Edition (subscription): The number of calls to a single method is limited, and the total number of calls to all methods is limited by the peak transactions per second (TPS) that you purchase.
  • Platinum Edition (subscription): The number of calls to a single method is not limited, but the total number of calls to all methods is limited by the peak TPS that you purchase.
Item Method Professional Edition Platinum Edition
Message sending on a single instance basicPublish 25,000 TPS Not limited
Synchronous message reception on a single instance basicGet 500 TPS Not limited
Connection enabling on a single instance newConnection 500 TPS Not limited
Channel enabling on a single instance channelOpen 500 TPS Not limited
Queue clearance on a single instance purgeQueue 500 TPS Not limited
Exchange creation on a single instance exchangeDeclare 500 TPS Not limited
Exchange deletion on a single instance exchangeDelete 500 TPS Not limited
Queue creation on a single instance queueDeclare 500 TPS Not limited
Queue deletion on a single instance queueDelete 500 TPS Not limited
Binding creation on a single instance queueBind 500 TPS Not limited
Binding deletion on a single instance queueUnbind 500 TPS Not limited
Message restoration on a single instance basicRecover 500 TPS Not limited
Message requeuing on a single instance
  • basicReject(requeue=true)
  • basicNack(requeue=true)
20 TPS Not limited

Limits on characters used to name resources

Item Description
Queue name The name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), periods (.), and at signs (@).
Exchange name The name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), periods (.), and at signs (@).
vhost name The name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), periods (.), and at signs (@).
Binding key name
  • Common: The name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), periods (.), and at signs (@).
  • Topic: The name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), asterisks (*), periods (.), number signs (#), and at signs (@). If the name contains a number sign (#), the name must start with a number sign (#) followed by a period (.) or end with a number sign (#) that follows a period (.).
Consumer tag name The name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), periods (.), and at signs (@).