解決方案
一大群廉價感測器與控制器,不時透過會斷線的行動網路或衛星鏈路傳送幾個位元組。在這種環境下,一個笨重又喋喋不休的協定根本無法使用。
MQTT 是一種以代理為基礎的發布/訂閱傳輸:裝置將訊息發布到主題,代理再把訊息路由給訂閱者。它讓訊息保持精簡、用戶端保持輕巧,並且是為了連接數百萬台裝置而設計。
可靠性以三種服務品質等級與持續性工作階段分層加入,因此重新連線時能從中斷處接續。當 OASIS 將其標準化後,MQTT 成為任何廠商都能提供的中立選項。
達成了什麼
讓代理協定保持精簡且能容忍封包遺失
為何奏效
精簡的標頭與小巧的用戶端足跡,可在資源極少的微控制器上執行。
發布/訂閱將傳送方與接收方解耦,因此系統能擴展到數百萬個物件。
三種 QoS 等級讓應用程式能選擇恰好一次,或選擇成本低廉的最多一次。
持續性工作階段能撐過物聯網裝置所處的不穩定行動網路連線。
可套用之處
當你的裝置資源匱乏、網路又容易遺失封包時,取勝之道是讓協定成本低廉且具容錯能力,再交由開放標準組織使其成為中立標準。
後續發展
MQTT 成為物聯網訊息傳輸的主流標準,獲汽車、製造、電信、石油與天然氣及智慧家庭等領域採用,各大平台上都有其代理與用戶端函式庫。它在 OASIS 下的開放標準地位,使其成為大量連網裝置的中立基礎。
追溯依據
參考來源
- MQTT Essentials - All The Core Concepts & Basics Explained HiveMQ · hivemq.com
- MQTT Version 5.0 OASIS Standard OASIS Open · docs.oasis-open.org