RabbitMQ实例规格
RabbitMQ实例兼容开源RabbitMQ 3.8.35、3.7.17,实例类型包括单机和集群,实例规格请参考下表。
说明
为了保证稳定性,服务端限制了单条消息的最大长度为50MB,请勿发送大于此长度的消息。
下表中TPS,是指以2KB大小的消息为例的每秒处理消息条数,测试场景为不开启持久化的非镜像队列,实时生产实时消费,队列无积压。此数据仅供参考,生产使用需要以实际压测性能为准。
服务端的性能主要跟以下因素相关:队列数、消息堆积、连接数、channel、消费者数、镜像队列、优先级队列、消息持久化和exchange类型等,在选择实例规格时,请根据业务模型压测结果选择。
一条连接最多可以开启2047个channel。
表1 RabbitMQ实例规格
型号 | 代理数 | 存储空间范围 | TPS参考值 | 单个代理最大消费者数 | 单个代理建议队列数 | 单个代理最大连接数 |
---|---|---|---|---|---|---|
rabbitmq.2u4g.single | 1 | 100GB~30000GB | 10000 | 20000 | 200 | 3000 |
rabbitmq.4u8g.single | 1 | 100GB~30000GB | 20000 | 30000 | 400 | 4500 |
rabbitmq.8u16g.single | 1 | 100GB~30000GB | 35000 | 50000 | 800 | 7500 |
rabbitmq.16u32g.single | 1 | 100GB~30000GB | 45000 | 80000 | 1600 | 12000 |
rabbitmq.24u48g.single | 1 | 100GB~30000GB | 50000 | 100000 | 2400 | 15000 |
rabbitmq.2u4g.cluster | 3/5/7 | 3/5/7*100GB~30000GB | 30000~70000 | 20000 | 200 | 3000 |
rabbitmq.4u8g.cluster | 3/5/7 | 3/5/7*100GB~30000GB | 45000~80000 | 30000 | 400 | 4500 |
rabbitmq.8u16g.cluster | 3/5/7 | 3/5/7*100GB~30000GB | 85000~120000 | 50000 | 800 | 7500 |
rabbitmq.12u24g.cluster | 3/5/7 | 3/5/7*100GB~30000GB | 100000~150000 | 60000 | 1200 | 10000 |
rabbitmq.16u32g.cluster | 3/5/7 | 3/5/7*100GB~30000GB | 130000~180000 | 80000 | 1600 | 12000 |
rabbitmq.24u48g.cluster | 3/5/7 | 3/5/7*100GB~30000GB | 150000~200000 | 100000 | 2400 | 15000 |
RabbitMQ实例的存储空间估算参考
在集群模式中,RabbitMQ需要对消息持久化写入到磁盘中,因此,您在创建RabbitMQ实例选择存储空间时,建议根据业务消息体积预估以及镜像队列副本数量选择合适的存储空间。镜像队列副本数最大为集群的代理数。
例如:业务消息体积预估100GB,则磁盘容量最少应为100GB*镜像队列副本数+预留磁盘大小100GB。
如果是单机实例,则是计算业务消息大小+预留磁盘大小即可。
当前RabbitMQ实例支持修改集群实例的代理个数,您可以根据业务情况,随时更改集群代理个数。单机实例暂不支持变更规格。