使用限制
本文為您介紹云消息隊列 MQTT 版對某些具體指標(biāo)的約束和規(guī)范,您在使用云消息隊列 MQTT 版時請不要超過相應(yīng)的限制值,以免程序出現(xiàn)異常。具體的限制項和限制值請參見下表。
如果您購買了鉑金版的云消息隊列 MQTT 版實例,則可按需定制部分指標(biāo)(下表中已標(biāo)出),咨詢定制請聯(lián)系云消息隊列 MQTT 版技術(shù)支持,釘釘群號:35228338。
實例限制
限制項 | 限制值 | 說明 |
實例名稱 |
| 創(chuàng)建實例時不支持自定義實例名稱,新創(chuàng)建實例的名稱默認和實例ID一致,您可以在云消息隊列 MQTT 版控制臺修改。 |
單實例消息收發(fā)TPS | 根據(jù)購買的規(guī)格進行限流,云消息隊列 MQTT 版消息收發(fā)TPS超過規(guī)格上限后,客戶端(包含開源MQTT客戶端和云端SDK)可能會出現(xiàn)連接斷開、響應(yīng)超時和消息丟棄等情況,不保證消息可靠到達。 | 在MQTT客戶端場景下,單MQTT客戶端消息收發(fā)量一般不會很大,且某些SDK設(shè)計上不支持,建議單MQTT客戶端消息TPS不超過20。如您所需的消息收發(fā)量較大,且是服務(wù)端使用場景,請考慮使用云消息隊列 RocketMQ 版客戶端。 |
單實例在線連接數(shù) | 根據(jù)購買的規(guī)格進行限流,超過規(guī)格上限后新建連接可能被拒絕。 | 云消息隊列 MQTT 版會默認提供在線用戶連接數(shù)的監(jiān)控報警。請合理調(diào)整監(jiān)控閾值。 |
單實例訂閱關(guān)系數(shù) | 當(dāng)訂閱數(shù)超過規(guī)格限制后,新增的訂閱可能會失敗,訂閱關(guān)系對應(yīng)的客戶端連接可能會斷開,且不保證訂閱關(guān)系完整。 | 云消息隊列 MQTT 版會默認提供訂閱關(guān)系數(shù)的監(jiān)控報警。請合理調(diào)整監(jiān)控閾值。 |
實例域名接入點對應(yīng)的IP地址 | 無 | 該IP地址隨時可能更換,請勿假設(shè)IP地址固定。在以下使用情況中出現(xiàn)的問題云消息隊列 MQTT 版產(chǎn)品方概不負責(zé):
|
Topic限制
限制項 | 限制值 | 說明 |
Topic名稱 |
| 使用云消息隊列 MQTT 版收發(fā)消息時,Topic長度不得低于或超過最值限制,否則會導(dǎo)致無法發(fā)送或者訂閱。 |
單實例父級Topic數(shù)量 | 25個 | 如果默認限制不滿足,請聯(lián)系云消息隊列 MQTT 版技術(shù)支持,釘釘群號:35228338。 說明 子級Topic數(shù)量暫無限制,為了業(yè)務(wù)平穩(wěn)運行,建議子級Topic數(shù)量不要超過1000。 |
Topic跨地域使用 | 不支持 | 云消息隊列 MQTT 版配置了相關(guān)規(guī)則實現(xiàn)與云消息隊列 RocketMQ 版的數(shù)據(jù)互通,則相關(guān)資源應(yīng)處于同一地域。 |
客戶端限制
限制項 | 限制值 | 說明 |
Client ID |
| 使用云消息隊列 MQTT 版收發(fā)消息時,Client ID不得超過限制,否則會導(dǎo)致連接被斷開。 |
Group ID |
| 使用云消息隊列 MQTT 版收發(fā)消息時,Group ID長度不得低于或超過最值限制,否則會導(dǎo)致無法發(fā)送或者訂閱。 |
Device ID |
| 使用云消息隊列 MQTT 版收發(fā)消息時,Device ID不得超過限制,否則會導(dǎo)致連接被斷開。 |
單個客戶端訂閱Topic數(shù)量 | 30個 | 每個客戶端最多允許同時訂閱30個Topic,超過該限制會導(dǎo)致無法新增新的訂閱關(guān)系。鉑金版實例可支持定制,如需定制,請聯(lián)系云消息隊列 MQTT 版技術(shù)支持,釘釘群號:35228338。 計算訂閱Topic數(shù)量時,一個包含通配符的訂閱計算為一個訂閱數(shù)量;同一父級Topic下不同子級的Topic訂閱被計算為不同的Topic數(shù)量。例如:A/#被計算為一個訂閱數(shù)量。A/#和A/a1/#被計算為2個Topic訂閱數(shù)量。 |
通配符訂閱關(guān)系數(shù)量 | 每個父級Topic下僅允許100個通配符訂閱關(guān)系。 | 服務(wù)端會限制每個父級Topic生效的通配符訂閱關(guān)系的數(shù)量,超過限制后服務(wù)端會只加載100個,可能會造成部分訂閱的客戶端收不到消息。請嚴格控制數(shù)量。例如:對于同一個父級Topic A,訂閱的A/#和A/a1/#以及A/a2/#計算為3個訂閱關(guān)系數(shù)量。 |
心跳最大時間間隔 | 8分鐘 | 使用云消息隊列 MQTT 版收發(fā)消息時,支持的最大心跳時間間隔為8分鐘。 |
消息流入、流出、客戶端上下線規(guī)則限制
限制項 | 限制值 | 說明 |
單實例規(guī)則數(shù)量 | 100 | 如果默認限制不滿足,請聯(lián)系云消息隊列 MQTT 版技術(shù)支持,釘釘群號:35228338。 |
規(guī)則去重限制 | 同一個內(nèi)部資源同種規(guī)則只能創(chuàng)建一個規(guī)則。 | 例如一個Group ID只能創(chuàng)建一個上下線通知規(guī)則,一個MQTT Topic只能創(chuàng)建一個數(shù)據(jù)流入規(guī)則和一個數(shù)據(jù)流出規(guī)則。 |
地域限制 | 不支持跨地域創(chuàng)建規(guī)則,規(guī)則的數(shù)據(jù)源和數(shù)據(jù)目標(biāo)所屬的實例必須處于同一地域。 | 例如,創(chuàng)建數(shù)據(jù)流出規(guī)則,數(shù)據(jù)源云消息隊列 MQTT 版實例屬于華東1(杭州)地域,則數(shù)據(jù)目標(biāo)云消息隊列 RocketMQ 版只能選擇華東1(杭州)地域的實例。 |
云消息隊列 MQTT 版實例版本 | 僅新版本的實例支持。 | 新購的云消息隊列 MQTT 版實例默認為新版本實例,舊版實例已不支持購買。 |
云消息隊列 RocketMQ 版實例版本 | 僅4.0系列實例支持 | 云消息隊列 MQTT 版和云消息隊列 RocketMQ 版通過消息流入或消息流出規(guī)則進行數(shù)據(jù)互通時,云消息隊列 RocketMQ 版僅4.0系列實例支持消息流入或流出規(guī)則,5.0系列實例不支持。 |
消息收發(fā)限制
限制項 | 限制值 | 說明 |
消息大小 | 64 KB | 消息負載不得超過該限制,否則消息會被丟棄。 鉑金版實例可支持定制。如需定制,請聯(lián)系云消息隊列 MQTT 版技術(shù)支持,釘釘群號:35228338。 |
消息保存時間 | 3天 | 僅當(dāng)QoS=1且cleanSession=false時,云消息隊列 MQTT 版才會保留離線消息,且最多保留3天,超過時間將自動滾動刪除。Qos和cleanSession的詳細信息,請參見名詞解釋。 鉑金版實例可支持定制,如需定制,請聯(lián)系云消息隊列 MQTT 版技術(shù)支持,釘釘群號:35228338。 |
QoS和cleanSession | 不支持以下配置:
| 使用云消息隊列 MQTT 版收發(fā)消息時:
|
Token有效期 | 30天 | 調(diào)用申請Token接口時,如果ExpireTime的取值大于30天,接口仍然調(diào)用成功返回Token,無報錯,但實際有效期仍為30天。 |
離線消息可見時間 | 10秒 | 服務(wù)端首次推送消息后必須要等待超時或者失敗后才能確認該消息是否轉(zhuǎn)化為離線消息,對應(yīng)的延遲時間通常是5秒~10秒。 |
離線消息存儲數(shù)量 | 100萬條 | 服務(wù)端會限制每個實例存儲的離線消息數(shù)量。超過該限制后,服務(wù)端會從最早的消息開始清理。因此,請合理使用持久化訂閱模式,以免產(chǎn)生過多無用的離線消息。 如果默認限制不滿足,請聯(lián)系云消息隊列 MQTT 版技術(shù)支持,釘釘群號:35228338。 |
云端API限制
調(diào)用云端API的每秒請求數(shù)(QPS)限制,請參見QPS限制。