全部產品
Search
文件中心

ApsaraMQ for MQTT:使用限制

更新時間:Aug 09, 2024

本文為您介紹雲Message QueueTT 版對某些具體指標的約束和規範,您在使用雲Message QueueTT 版時請不要超過相應的限制值,以免程式出現異常。具體的限制項和限制值請參見下表。

如果您購買了鉑金版的雲Message QueueTT 版執行個體,則可按需定製部分指標(下表中已標出),諮詢定製請聯絡雲Message QueueTT 版支援人員,DingTalk群號:35228338。

執行個體限制

限制項

限制值

說明

執行個體名稱

  • 名稱長度:3~64個字元

  • 可用字元:僅限數字0~9、字母a~z或A~Z、短劃線(-)和底線(_),大小寫不敏感。

  • 唯一性:同一地區下執行個體名稱必須唯一。

建立執行個體時不支援自訂執行個體名稱,新建立執行個體的名稱預設和執行個體ID一致,您可以在雲Message QueueTT 版控制台修改。

單一實例訊息收發TPS

根據購買的規格進行限流,雲Message QueueTT 版訊息收發TPS超過規格上限後,用戶端(包含開源MQTT用戶端和雲端SDK)可能會出現串連斷開、響應逾時和訊息丟棄等情況,不保證訊息可靠到達。

在MQTT用戶端情境下,單MQTT用戶端訊息收發量一般不會很大,且某些SDK設計上不支援,建議單MQTT用戶端訊息TPS不超過20。如您所需的訊息收發量較大,且是服務端使用情境,請考慮使用雲訊息佇列 RocketMQ 版用戶端。

單一實例線上串連數

根據購買的規格進行限流,超過規格上限後建立串連可能被拒絕。

雲Message QueueTT 版會預設提供線上使用者串連數的監控警示。請合理調整監控閾值。

單一實例訂閱關係數

當訂閱數超過規格限制後,新增的訂閱可能會失敗,訂閱關係對應的用戶端串連可能會斷開,且不保證訂閱關係完整。

雲Message QueueTT 版會預設提供訂閱關係數的監控警示。請合理調整監控閾值。

執行個體網域名稱存取點對應的IP地址

該IP地址隨時可能更換,請勿假設IP地址固定。在以下使用方式中出現的問題雲Message QueueTT 版產品方概不負責:

  • 用戶端不使用網域名稱接入而是使用IP地址接入,產品方更新了網域名稱解析導致原有IP地址失效。

  • 用戶端網路對IP地址設定網路防火牆策略,產品方更新了網域名稱解析後新IP地址被您的防火牆策略攔截。

Topic限制

限制項

限制值

說明

Topic名稱

  • 名稱長度:3~64個字元

    說明

    這裡的Topic長度指的是父級Topic和子級Topic的總長度。

  • 可用字元:僅限數字0~9、字母a~z或A~Z、短劃線(-)和底線(_),大小寫不敏感。

  • 唯一性:同一執行個體下父級Topic名稱必須唯一。

使用雲Message QueueTT 版收發訊息時,Topic長度不得低於或超過最值限制,否則會導致無法發送或者訂閱。

單一實例父級Topic數量

25個

如果預設限制不滿足,請聯絡雲Message QueueTT 版支援人員,DingTalk群號:35228338。

說明

子級Topic數量暫無限制,為了業務平穩運行,建議子級Topic數量不要超過1000。

Topic跨地區使用

不支援

雲Message QueueTT 版配置了相關規則實現與雲訊息佇列 RocketMQ 版的資料互連,則相關資源應處於同一地區。

用戶端限制

限制項

限制值

說明

Client ID

  • 名稱長度:不超過64個字元

  • 可用字元:僅限數字0~9、字母a~z或A~Z、短劃線(-)和底線(_)。

使用雲Message QueueTT 版收發訊息時,Client ID不得超過限制,否則會導致串連被斷開。

Group ID

  • 名稱長度:7~64個字元

  • 可用字元:僅限數字0~9、字母a~z或A~Z、短劃線(-)和底線(_),且必須以“GID_”或者“GID-”開頭。

  • 唯一性:同一執行個體下Group ID必須唯一。

使用雲Message QueueTT 版收發訊息時,Group ID長度不得低於或超過最值限制,否則會導致無法發送或者訂閱。

Device ID

  • 名稱長度:Client ID格式為:<GroupID>@@@<DeviceID>,Device ID的長度限制為動態值,您需要保證總的Client ID長度不超過64個字元。

  • 可用字元:僅限數字0~9、字母a~z或A~Z、短劃線(-)和底線(_)。

  • 唯一性:同一Group ID下的Device ID必須唯一。

使用雲Message QueueTT 版收發訊息時,Device ID不得超過限制,否則會導致串連被斷開。

單個客訂閱Topic數量

30個

每個用戶端最多允許同時訂閱30個Topic,超過該限制會導致無法新增新的訂閱關係。鉑金版執行個體可支援定製,如需定製,請聯絡雲Message QueueTT 版支援人員,DingTalk群號:35228338。

計算訂閱Topic數量時,一個包含萬用字元的訂閱計算為一個訂閱數量;同一父級Topic下不同子級的Topic訂閱被計算為不同的Topic數量。例如:A/#被計算為一個訂閱數量。A/#和A/a1/#被計算為2個Topic訂閱數量。

萬用字元訂閱關係數量

每個父級Topic下僅允許100個萬用字元訂閱關係。

服務端會限制每個父級Topic生效的萬用字元訂閱關係的數量,超過限制後服務端會只載入100個,可能會造成部分訂閱的用戶端收不到訊息。請嚴格控制數量。例如:對於同一個父級Topic A,訂閱的A/#和A/a1/#以及A/a2/#計算為3個訂閱關係數量。

心跳最大時間間隔

8分鐘

使用雲Message QueueTT 版收發訊息時,支援的最大心跳時間間隔為8分鐘。

訊息流程入、流出、用戶端上下線規則限制

限制項

限制值

說明

單一實例規則數量

100

如果預設限制不滿足,請聯絡雲Message QueueTT 版支援人員,DingTalk群號:35228338。

規則去重限制

同一個內部資源同種規則只能建立一個規則。

例如一個Group ID只能建立一個上下線通知規則,一個MQTT Topic只能建立一個資料流入規則和一個資料流出規則。

地區限制

不支援跨地區建立規則,規則的資料來源和資料目標所屬的執行個體必須處於同一地區。

例如,建立資料流出規則,資料來源雲Message QueueTT 版執行個體屬於華東1(杭州)地區,則資料目標雲訊息佇列 RocketMQ 版只能選擇華東1(杭州)地區的執行個體。

雲Message QueueTT 版執行個體版本

僅新版本的執行個體支援。

新購的雲Message QueueTT 版執行個體預設為新版本執行個體,舊版執行個體已不支援購買。

雲訊息佇列 RocketMQ 版執行個體版本

僅4.0系列執行個體支援

雲Message QueueTT 版雲訊息佇列 RocketMQ 版通過訊息流程入或訊息流程出規則進行資料互連時,雲訊息佇列 RocketMQ 版僅4.0系列執行個體支援訊息流程入或流出規則,5.0系列執行個體不支援。

訊息收發限制

限制項

限制值

說明

訊息大小

64 KB

訊息負載不得超過該限制,否則訊息會被丟棄。

鉑金版執行個體可支援定製。如需定製,請聯絡雲Message QueueTT 版支援人員,DingTalk群號:35228338。

訊息儲存時間

3天

僅當QoS=1且cleanSession=false時,雲Message QueueTT 版才會保留離線訊息,且最多保留3天,超過時間將自動滾動刪除。Qos和cleanSession的詳細資料,請參見名詞解釋

鉑金版執行個體可支援定製,如需定製,請聯絡雲Message QueueTT 版支援人員,DingTalk群號:35228338。

QoS和cleanSession

不支援以下配置:

  • QoS=2且cleanSession=false

  • QoS=0且cleanSession=false

使用雲Message QueueTT 版收發訊息時:

  • 如果cleanSession=true,那麼QoS可以設定為0、1或2。

  • 如果cleanSession=false,那麼QoS不可設定為2或0,雲Message QueueTT 版暫不支援該配置。

Token有效期間

30天

調用申請Token介面時,如果ExpireTime的取值大於30天,介面仍然調用成功返回Token,無報錯,但實際有效期間仍為30天。

離線訊息可見時間

10秒

服務端首次推送訊息後必須要等待逾時或者失敗後才能確認該訊息是否轉化為離線訊息,對應的延遲時間通常是5秒~10秒。

離線訊息儲存數量

100萬條

服務端會限制每個執行個體儲存的離線訊息數量。超過該限制後,服務端會從最早的訊息開始清理。因此,請合理使用持久化訂閱模式,以免產生過多無用的離線訊息。

如果預設限制不滿足,請聯絡雲Message QueueTT 版支援人員,DingTalk群號:35228338。

雲端API限制

調用雲端API的每秒請求數(QPS)限制,請參見QPS限制