日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

MQTT與RocketMQ的消息結構映射

更新時間:

本文針對使用云消息隊列 RocketMQ 版SDK與云消息隊列 MQTT 版交互的場景,提供交互中所涉及的消息結構和屬性字段的映射關系,方便您更好的理解和組合使用這兩個產品。

云消息隊列 MQTT 版是一款面向移動端的網關產品,可通過數據互通規則實現與其他阿里云產品,例如云消息隊列 RocketMQ 版的交互。規則的詳細信息,請參見規則管理。

如果單獨使用云消息隊列 MQTT 版,則無需關注本文提供的映射關系,一切遵循標準MQTT協議規范即可。

云消息隊列 MQTT 版的詳細介紹,請參見什么是云消息隊列 MQTT 版名詞解釋。

消息結構映射

云消息隊列 MQTT 版云消息隊列 RocketMQ 版都是基于發布/訂閱(Pub/Sub)模型的消息系統,兩者概念上存在很多相似之處,下圖列舉了關鍵概念的區別和映射關系。

消息結構

如上圖所示,在云消息隊列 MQTT 版中Topic是多級結構,而云消息隊列 RocketMQ 版的Topic僅有一級,因此,云消息隊列 MQTT 版中的一級Topic映射到云消息隊列 RocketMQ 版的Topic,而子級Topic,包括二級、三級、n級Topic則映射到云消息隊列 RocketMQ 版的消息屬性(Properties)中。

云消息隊列 RocketMQ 版協議中的消息(Message)可以擁有自定義屬性(Properties),而MQTT協議目前的版本不支持屬性,但為了方便溯源MQTT協議中的Header信息和設備信息,云消息隊列 MQTT 版的部分信息將被映射到云消息隊列 RocketMQ 版的消息屬性中,方便使用云消息隊列 RocketMQ 版的SDK接入的用戶獲取。

說明

云消息隊列 RocketMQ 版中設置屬性字段來映射云消息隊列 MQTT 版的具體步驟,請參見下文屬性字段映射的表格。

云消息隊列 RocketMQ 版云消息隊列 MQTT 版的消息負載(Payload)均是您的業務消息的數據序列化結果,云消息隊列 RocketMQ 版云消息隊列 MQTT 版不會對業務消息再做進一步的編解碼處理。

屬性字段映射

目前,云消息隊列 MQTT 版云消息隊列 RocketMQ 版支持的屬性字段映射關系如下表所示。使用云消息隊列 RocketMQ 版云消息隊列 MQTT 版的SDK的應用交互時,可以通過讀寫這些屬性字段來設置或獲取信息。

QoS、cleanSession、Topic以及Client ID的詳細解釋,請參見名詞解釋

MQTT參數

RocketMQ屬性Key

屬性可選值

說明

QoS

qoslevel

0、1、2

云消息隊列 RocketMQ 版發給云消息隊列 MQTT 版消息時可以設置,如果不設置,默認為“1”;

云消息隊列 MQTT 版發給云消息隊列 RocketMQ 版的消息可以直接讀取。

MQTT全量Topic

topic

具體的全量Topic字符串

不可設置,云消息隊列 MQTT 版發給云消息隊列 RocketMQ 版消息時,用于追蹤該消息的發送源的全量Topic。

cleanSession

cleansessionflag

true、false

云消息隊列 RocketMQ 版發給云消息隊列 MQTT 版客戶端P2P消息時設置,如不設置,默認為“true”;

其他消息不可以設置,云消息隊列 MQTT 版發給云消息隊列 RocketMQ 版的消息可以直接讀取。

MQTT子級Topic

mqttSecondTopic

具體的子級Topic字符串

云消息隊列 RocketMQ 版發給云消息隊列 MQTT 版客戶端消息時如果需要子級Topic來做過濾,則設置,如不設置,默認為空;

云消息隊列 MQTT 版發給云消息隊列 RocketMQ 版的消息可以直接讀取。

客戶端接收消息顯示Topic

mqttRealTopic

業務上希望客戶端收到消息時顯示的子級字符串

云消息隊列 RocketMQ 版發給云消息隊列 MQTT 版客戶端消息時如果希望客戶端收到消息后顯示成指定的子級Topic名稱,則可以設置;一般用于P2P消息,若不設置,P2P消息默認使用自己固定的Topic;

云消息隊列 MQTT 版發給云消息隊列 RocketMQ 版的消息時無該屬性。

clientId

clientId

具體的Client ID字符串

不可設置,云消息隊列 MQTT 版發給云消息隊列 RocketMQ 版消息時,用于追蹤該消息的發送源的Client ID。