全部產品
Search
文件中心

IoT Platform:請求與響應模式

更新時間:Oct 16, 2024

本文介紹物聯網平台支援的MQTT 5.0新特性的請求與響應模式。

背景資訊

MQTT協議採用發布與訂閱模式,通過非同步訊息傳輸,實現發行者和訂閱者完全解耦。在物聯網裝置的實際業務情境下,可使用請求與響應模式,解決需要回複的情境需求。例如服務端控制裝置開關、裝置請求服務端資料等情境。

功能說明

MQTT 5.0實現請求與響應模式,並不與HTTP協議一樣使用同步方式,而是在發布與訂閱基礎上,通過在訊息中添加響應主題和關聯資料,實現請求與響應的關聯,使用非同步訊息方式簡化響應端的開發。

  • 響應主題(ResponseTopic)字串,儲存響應端發布返回訊息的Topic。

  • 關聯資料(CorrelationData)位元據,儲存本次請求的上下文資料。

請求與響應模式通訊流程圖如下:

image..png

重要
  • 當同時存在多次請求時,可以在關聯資料中添加請求ID,確定對應請求的響應。

  • 裝置的遠程即時控制也可以使用物聯網平台提供的RRPC能力,以實現結果同步返回。

  • 發布QoS 1訊息只保證訊息到物聯網平台,為保證訂閱端正確接收並完成處理,建議使用請求與響應模式。

應用情境

裝置端請求服務端資料

在物聯網裝置的某些情境下,裝置需要向服務端請求資料。例如:智能炒菜機,需要向雲端請求擷取各種菜譜,每種菜譜對應不同的主題(Topic),使用請求與響應模式,服務端只需要回複菜譜內容,不需要關注相應的Topic,簡化了商務服務端的開發。

  • 裝置端:類似遠程調用,可以通過關聯資料進行請求與回複的關聯。

  • 商務服務端:無需關注回複訊息的響應Topic,只需要處理業務返回結果。

image..png

服務端遠端控制裝置

在服務端遠端控制裝置的情境,例如:遠程向電子鎖發送開門的命令,需要立即有返回。此情境可以使用請求與響應模式,並可在關聯資料中加上鑒權資料,實現終端鑒權。

image..png