云消息隊列 RocketMQ 版對實例的資源配額、實例規格和相關參數進行了約束和規范,您在使用云消息隊列 RocketMQ 版時不要超過對應的限制值,避免應用出現異常。
參數限制
以下參數中各資源的命名及備注等限制值不支持調整,請嚴格按照規范設置,避免因出現特殊字符或長度超限導致系統處理異常。
參數 | 限制值 | 說明 |
實例名稱 |
| 無。 |
Topic名稱 |
系統保留字符:Topic名稱不允許使用以下保留字符或含有特殊前綴的字符命名。
| Topic命名應該盡量使用簡短、常用的字符,避免使用特殊字符。特殊字符會導致系統解析出現異常,字符過長可能會導致消息收發被拒絕。 |
ConsumerGroup名稱 |
系統保留字符:ConsumerGroup不允許使用以下保留字符或含有特殊前綴的字符命名。
| 無。 |
實例備注 |
| 無。 |
Topic備注 | ||
Group備注 | ||
ACL Credentials |
| 無。 |
請求超時時間 |
| 請求超時時間是客戶端本地同步調用的等待時間,請根據實際應用設置合理的取值,避免線程阻塞時間過長。 |
消息大小 | 不超過4 MB。 不涉及消息壓縮,僅計算消息體body的大小。 | 消息傳輸應盡量壓縮和控制負載大小,避免超大文件傳輸。若消息大小不滿足限制要求,可以嘗試分割消息或使用OSS存儲,用消息傳輸URL。 |
消息自定義屬性 |
系統保留屬性:不允許使用以下保留屬性作為自定義屬性的Key。
| 無。 |
MessageGroup |
| MessageGroup是順序消息的分組標識。一般設置為需要保證順序的一組消息標識,例如訂單ID、用戶ID等。 |
消息發送重試次數 |
| 消息發送重試是客戶端SDK內置的重試策略,對應用不可見,建議取值不要過大,避免阻塞業務線程。 如果消息達到最大重試次數后還未發送成功,建議業務側做好兜底處理,保證消息可靠性。 |
批量發送消息 | 不支持 | 云消息隊列 RocketMQ 版不支持批量發送消息。 |
消息消費重試次數 |
| 消費重試次數應根據實際業務需求設置合理的參數值,避免使用重試進行無限觸發。重試次數過大容易造成系統壓力過量增加。 |
事務異常檢查間隔 |
| 事務異常檢查間隔指的是,半事務消息因系統重啟或異常情況導致沒有提交,生產者客戶端會按照該間隔時間進行事務狀態回查。 間隔時長不建議設置過短,否則頻繁的回查調用會影響系統性能。 |
半事務消息第一次回查時間 |
| 無。 |
半事務消息最大超時時長 |
| 半事務消息因系統重啟或異常情況導致沒有提交,生產者客戶端會按照事務異常檢查間隔時間進行回查,若超過半事務消息超時時長后沒有返回結果,半事務消息將會被強制回滾。 您可以通過監控該指標避免異常事務。 |
定時消息最大間隔 |
| 定時消息間隔時長建議使用小時級別的時間區間,避免長時間定時。 |
PushConsumer消費超時時長 |
| PushConsumer消費超時時長由云消息隊列 RocketMQ 版服務端統一控制。 超過消費超時時長消息還未處理完成,將被系統強制判定為消費失敗并進行重試,因此可能會導致少量消息重復。 |
PushConsumer本地緩存 |
| 消費者類型為PushConsumer時,為提高消費者吞吐量和性能,客戶端會在SDK本地緩存部分消息。緩存的消息的數量和大小應設置在系統內存允許的范圍內。 |
PushConsumer重試間隔時長 |
| 無。 |
PushConsumer消費并發度 |
| 無。 |
獲取消息最大批次 |
| 消費者從服務端獲取消息時,一次獲取到最大消息條數。建議按照實際業務設置合理的參數值,一次獲取消息數量過大容易在消費失敗時造成大批量消息重復。 |
SimpleConsumer最大不可見時間 |
| 消費不可見時間指的是消息處理+失敗后重試間隔的總時長,建議設置時取值比實際需要耗費的時間稍微長一些。 |
消費者長輪詢超時時間 | 取值范圍:最小值5秒,最大值20秒。 支持用戶在取值范圍內自定義調整。 | 設置長輪詢超時時間后,如果當前服務端無已就緒的消息,客戶端請求會阻塞直到新消息到達或者超時時間到達。 消費者使用長輪詢可以在消息量少的情況下大幅降低無效的空請求,降低客戶端和服務端的壓力。 |
資源配額
云消息隊列 RocketMQ 版會根據生產環境的穩定性和運維經驗限制部分操作的QPS和并發等指標。一般場景下這些配額指標都足夠使用,如有特殊場景云消息隊列 RocketMQ 版提供的額度不滿足業務需求,您可以咨詢云消息隊列 RocketMQ 版技術支持進行處理。
限制項 | 限制值 | 說明 | |
包年包月和按量付費實例 | Serverless實例 | ||
單地域實例數 | 所有類型實例總數不超過1000個。 | 無。 | |
單實例消息收發TPS | 由購買的實例規格決定,具體限制值,請參見實例規格限制。 | 彈性自適應 | 消息收發TPS體現當前實例的處理性能,實際超過該規格實例會被限流,請及時升級規格配置。 |
單實例Topic數量 | 由購買的實例規格決定,具體限制值,請參見實例規格限制。 | 根據創建的Topic數量按量收費,具體計費信息,請參見Topic費用。 | 從安全性和穩定性考慮,建議將不同業務拆分到不同實例中,避免所有業務集中在單個實例中。 |
單實例Group數量 | 由購買的實例規格決定,具體限制值,請參見實例規格限制。 | 5000 | 從安全性和穩定性考慮,建議將不同業務拆分到不同實例中,避免所有業務集中在單個實例中。 |
消息保存時長 |
|
| 在存儲成本可控范圍內,建議盡量延長保存時長。消息保存時長越長,提供的問題排查周期和回溯窗口越長。 |
單消費者分組處理中消息的數量 | 不超過2500條。 | 不超過2500條。 | 消費者分組中處理中消息數量過多可能是消費者響應較慢,請及時關注并排查原因。 |
操作限制
云消息隊列 RocketMQ 版是全托管免運維的PaaS服務,因此系統會在開源Apache RocketMQ的基礎上,對部分高風險運維操作和部分功能進行限制。如有特殊需求,您可以咨詢云消息隊列 RocketMQ 版技術支持進行處理。
限制項 | 說明 |
Apache RocketMQ Admin工具兼容性 | 云消息隊列 RocketMQ 版暫不支持使用Apache RocketMQ的Admin API以及CLI管理實例、Topic和Group資源。 若您有API管理需求,建議使用阿里云提供的OpenAPI。阿里云OpenAPI支持多語言SDK和CLI命令管理。 |
Apache RocketMQ Request-Reply消息 | 云消息隊列 RocketMQ 版暫不支持發送Apache RocketMQ的Request-Reply消息。 |
Apache RocketMQ Streaming組件 | 云消息隊列 RocketMQ 版暫不支持提供托管的Apache RocketMQ Streaming組件服務。您可以基于阿里云環境自行部署,或使用云消息隊列 RocketMQ 版提供的消息集成功能實現輕量級的數據集成及計算。 |
Apache RocketMQ MQTT組件 | 云消息隊列 RocketMQ 版暫不支持提供托管的Apache RocketMQ MQTT組件服務。建議您使用阿里云提供的云消息隊列 MQTT 版服務,其功能更完整。 |
Apache RocketMQ EventBridge組件 | 云消息隊列 RocketMQ 版暫不支持提供托管的Apache RocketMQ EventBridge組件服務。建議您使用阿里云的事件總線EventBridge服務,其功能更完整。 |
Apache RocketMQ-Connector組件 | 云消息隊列 RocketMQ 版暫不支持提供托管的Apache RocketMQ-Connector組件服務。您可以使用云消息隊列 RocketMQ 版提供的消息集成功能實現消息數據的流入和流出。 |
實例規格限制
標準版主系列下所有實例、以及專業版主系列下單節點版實例不支持突發彈性計算能力,您需要提前規劃好資源用量,避免高水位運行時出現突發流量超過規格限制,造成實例限流。
單實例的Topic和Group配額是按照大規模生產環境實踐所計算,滿足絕大部分場景下的業務需求。建議您將業務按照部門和領域做實例拆分和隔離,避免將所有業務運行在單個實例中。
消息收發計算TPS規格是按照普通消息類型、消息大小4 KB為基準計算消息收發之和。高級特性消息和大消息計算時需要乘以對應倍率,具體計算方式,請參見計算規格說明。
若您實際使用的消息收發TPS超過了購買的規格上限:
如果實例開啟了彈性TPS功能,則在[基礎規格,彈性規格]區間內,實例可正常運行,且這部分規格需要按量收取彈性TPS費用;超過彈性能力上限后,實例還是會被限流。
彈性TPS計費信息,請參見彈性TPS費用。
實例不支持或未開啟彈性TPS功能,則云消息隊列 RocketMQ 版對實例進行限流。
若客戶端與云消息隊列 RocketMQ 版實例連接數過多時,服務端會消耗大量性能來維持客戶端與服務端連接,會嚴重影響服務端穩定性。因此,建議您使用的客戶端連接不要超過實例規格的上限值。
包年包月和按量付費實例規格上限
標準版實例規格
實例子系列 | 實例規格 | 消息收發基礎規格TPS上限(次/秒) | 消息收發規格外突發彈性TPS上限(次/秒) | 連接數上限(個) | 公網下行帶寬(Mbps) | Topic免費配額(個) | Topic最大配額(個) | Group最大配額(個) |
單節點版(不再售賣) | rmq.s1.micro | 500 | 不涉及 該規格不支持突發彈性能力。 | 2000 | 1~1000 支持自定義配置。 | 100 | 100 | 1000 |
集群高可用版 | rmq.s2.2xlarge | 2000 | 4000 | 300 | ||||
rmq.s2.4xlar | 4000 | 4000 | ||||||
rmq.s2.6xlarge | 6000 | 6000 | 500 |
若標準版中Topic和ConsumerGroup的最高規格(rmq.s2.6xlarge)仍無法滿足您的業務需求,建議您升級至專業版并選擇適合您的實例規格。
專業版實例規格
實例子系列 | 實例規格 | 消息收發基礎規格TPS上限(次/秒) | 消息收發規格外突發彈性TPS上限(次/秒) | 連接數上限(個) | 公網下行帶寬(Mbps) | Topic免費配額(個) | Topic最大配額(個) | Group最大配額(個) |
單節點版(不再售賣) | rmq.p1.micro | 500 | 不涉及 該規格不支持突發彈性能力。 | 2000 | 1~1000 支持自定義配置。 | 150 | 150 | 1500 |
集群高可用版 | rmq.p2.4xlarge | 4000 | 2000 | 4000 | 500 | 2000 | ||
rmq.p2.6xlarge | 6000 | 3000 | 6000 | |||||
rmq.p2.10xlarge | 10000 | 5000 | 10000 | 1000 | ||||
rmq.p2.20xlarge | 20000 | 10000 | 10000 | |||||
rmq.p2.50xlarge | 50000 | 20000 | 14000 | 2000 | ||||
rmq.p2.100xlarge | 100000 | 30000 | 26000 | |||||
rmq.p2.150xlarge | 150000 | 50000 | 38000 |
若專業版中Topic和ConsumerGroup的最高規格(rmq.p2.10xlarge或以上)仍無法滿足您的業務需求,請提交工單咨詢處理。
鉑金版實例規格
實例子系列 | 實例規格 | 消息收發基礎規格TPS上限(次/秒) | 消息收發規格外突發彈性TPS上限(次/秒) | 連接數上限(個) | 公網下行帶寬(Mbps) | Topic免費配額(個) | Topic最大配額(個) | Group最大配額(個) |
集群高可用版 | rmq.u2.10xlarge | 10000 | 5000 | 10000 | 1~1000 支持自定義配置。 | 200 | 3000 | 4000 |
rmq.u2.20xlarge | 20000 | 10000 | 10000 | |||||
rmq.u2.40xlarge | 40000 | 20000 | 10000 | |||||
rmq.u2.100xlarge | 100000 | 30000 | 26000 | |||||
rmq.u2.150xlarge | 150000 | 50000 | 38000 | |||||
rmq.u2.200xlarge | 200000 | 60000 | 50000 | |||||
rmq.u2.400xlarge | 400000 | 100000 | 54000 | |||||
rmq.u2.600xlarge | 600000 | 200000 | 80000 | |||||
rmq.u2.1000xlarge | 1000000 | 300000 | 134000 |
若鉑金版中Topic和ConsumerGroup的規格無法滿足您的業務需求,請提交工單咨詢處理。
Serverless實例規格上限
實例主系列 | 實例規格 | 消息收發TPS上限(次/秒) | 連接數上限(個) | 公網流量 | Topic最大配額(個) | Group最大配額(個) |
標準版 | rmq.s3.nxlarge | 50000 | 10000 | 無上限,以實際使用量計算費用 | 5000 | 5000 |
專業版 | rmq.p3.nxlarge | 50000 超過50000次/秒后,支持分鐘級自適應彈性 | 30000 | 無上限,以實際使用量計算費用 | 5000 | 5000 |