约束与限制
本章节介绍华为云分布式消息服务RabbitMQ版产品功能的约束和限制,您在使用RabbitMQ实例时注意不要超过相应的约束和限制,以免程序出现异常。
如果因为您的实例配置超过相应的约束和限制而导致的任何不稳定情况,不在SLA承诺和赔偿范围内。
实例
限制项 |
约束和限制 |
---|---|
版本 |
当前服务端版本为3.8.35和AMQP-0-9-1。 |
连接数 |
RabbitMQ单机和集群实例,不同实例规格的连接数上限不一致,具体限制,请参考产品规格。 |
通道数 |
单条连接可以建立的通道数如下:
|
内存高水位阈值 |
<= 40% 内存使用率超过40%可能会触发内存高水位,内存高水位会导致生产者流程被阻塞。 仅RabbitMQ 3.8.35版本存在内存高水位限制。 |
磁盘高水位阈值 |
>= 5GB 磁盘剩余空间低于5GB会触发磁盘高水位,生产者流程被阻塞。 仅RabbitMQ 3.8.35版本存在磁盘高水位限制。 |
cluster_partition_handling |
pause_minority 当集群发生网络分区时,代理会检查自己是否处于“少数派”(存储分区的代理数小于等于总代理数的一半称为少数派)。少数派中的代理将会自动关闭服务并定期检测网络状态,待分区恢复之后重新启动服务。如果未开启镜像队列,发生分区时少数派上的队列将无法生产消费。 此策略相当于放弃了可用性而选择了数据一致性。 |
RabbitMQ插件 |
RabbitMQ插件功能可用于测试和迁移业务等场景,不建议用于生产业务。因使用插件导致的可靠性问题,不在服务承诺的SLA范围内。 仅RabbitMQ 3.8.35版本支持插件功能。 |
修改VPC/子网/可用区 |
实例创建后,不支持修改VPC/子网/可用区。 |
存储空间 |
只支持扩大存储空间,不支持减小存储空间。 |
代理数量 |
仅RabbitMQ 3.8.35版本支持修改代理数量。 |
代理规格 |
|
Vhost
限制项 |
约束和限制 |
---|---|
删除Vhost |
创建实例时创建的默认Vhost,不支持删除。 |
Exchange
限制项 |
约束和限制 |
---|---|
默认Exchange |
RabbitMQ 3.8.35版本在创建Vhost后会创建7个默认Exchange:(AMQP default)、amq.direct、amq.fanout、amq.headers、amq.match、amq.rabbitmq.trace、amq.topic。 |
绑定Exchange |
|
删除Exchange |
RabbitMQ 3.8.35版本中,默认Exchange不支持删除。 |
Queue
限制项 |
约束和限制 |
---|---|
绑定Queue |
|
惰性队列 |
仅RabbitMQ 3.8.35版本支持惰性队列。 |
仲裁队列 |
仅RabbitMQ 3.8.35版本支持仲裁队列。 |
单一活跃消费者 |
仅RabbitMQ 3.8.35版本支持单一活跃消费者特性。 |
消息
限制项 |
约束和限制 |
---|---|
消息大小 |
RabbitMQ 3.8.35版本单条消息的最大长度为50MB,RabbitMQ AMQP-0-9-1版本单条消息的最大长度为4MB。 服务端限制了单条消息的最大长度,请勿发送大于此长度的消息,否则生产失败。 |