MQTT 消息中間件特性

MQTT作爲一種消息中間件,是一種基於發佈/訂閱(publish/subscribe)模式的"輕量級"通訊協議,該協議構建於TCP/IP協議上。
MQTT最大優點在於,可以以極少的代碼和有限的帶寬,爲連接遠程設備提供實時可靠的消息服務。作爲一種低開銷、低帶寬佔用的即時通訊協議,使其在物聯網、小型設備、移動應用等方面有較廣泛的應用。MQTT協議工作在低帶寬、不可靠的網絡的遠程傳感器和控制設備通訊而設計的協議,它具有以下主要的幾項特性

(1)使用發佈/訂閱消息模式,提供一對多的消息發佈,解除應用程序耦合。

(2)對負載內容屏蔽的消息傳輸。

(3)使用TCP/IP提供網絡連接。

 主流的MQTT是基於TCP連接進行數據推送的,但是同樣有基於UDP的版本,叫做MQTT-SN。這兩種版本由於基於不同的連接方式,優缺點自然也就各有不同了。

(4)有三種消息發佈服務質量:

"至多一次",消息發佈完全依賴底層TCP/IP網絡。會發生消息丟失或重複。這一級別可用於如下情況,環境傳感器數據,丟失一次讀記錄無所謂,因爲不久後還會有第二次發送。這一種方式主要普通APP的推送,倘若你的智能設備在消息推送時未聯網,推送過去沒收到,再次聯網也就收不到了。

"至少一次",確保消息到達,但消息重複可能會發生。

"只有一次",確保消息到達一次。在一些要求比較嚴格的計費系統中,可以使用此級別。在計費系統中,消息重複或丟失會導致不正確的結果。這種最高質量的消息發佈服務還可以用於即時通訊類的APP的推送,確保用戶收到且只會收到一次。

(5)小型傳輸,開銷很小(固定長度的頭部是2字節),協議交換最小化,以降低網絡流量。

這就是爲什麼在介紹裏說它非常適合"在物聯網領域,傳感器與服務器的通信,信息的收集",要知道嵌入式設備的運算能力和帶寬都相對薄弱,使用這種協議來傳遞消息再適合不過了。

(6)使用Last Will和Testament特性通知有關各方客戶端異常中斷的機制。

Last Will:即遺言機制,用於通知同一主題下的其他設備發送遺言的設備已經斷開了連接。

Testament:遺囑機制,功能類似於Last Will。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章