RabbitMQ實例規格
更新時間 2024-01-17 13:48:47
最近更新時間: 2024-01-17 13:48:47
分享文章
本文主要介紹分布式消息服務RabbitMQ的實例規格。
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實例支持修改集群實例的代理個數,您可以根據業務情況,隨時更改集群代理個數。單機實例暫不支持變更規格。