MQTT是一個物聯網傳輸協議,它被設計用於輕量級的發佈/訂閱式消息傳輸,旨在爲低帶寬和不穩定的網絡環境中的物聯網設備提供可靠的網絡服務。MQTT是專門針對物聯網開發的輕量級傳輸協議。MQTT協議針對低帶寬網絡,低計算能力的設備,作了特殊的優化,使得其能適應各類物聯網應用場景。目前MQTT擁有各類平臺和設備上的客戶端,已經造成了初步的生態系統。在12月18日舉行的OIOT開放物聯網大會上,IBM的徐剛帶來了《IBM MQTT:國際標準化物聯網推薦協議》的主題分享,本文根據其演講內容整理而成。html
在物聯網中,開源和開放標準是基本的要素。MQTT的發展歷史大體以下:安全
物聯網中的數據傳輸會面臨不少問題,好比在網絡不穩定的狀況下,若是保證數據的傳輸沒有問題,如何保證數據不被重複發送,鏈接斷開後如何進行重連。整體來講,物聯網的接入會面臨如下幾個方面的挑戰:服務器
MQTT的設計思想是開源、可靠、輕巧、簡單,MQTT的傳輸格式很是精小,最小的數據包只有2個比特,且無應用消息頭。MQTT能夠保證消息的可靠性,它包括三種不一樣的服務質量(最多隻傳一次、最少被傳一次、一次且只傳一次),若是客戶端意外掉線,可使用「遺願」發佈一條消息,同時支持持久訂閱。MQTT在物聯網以及移動應用中的優點有:網絡
消息推送。支持消息實時通知、豐富的推送內容、靈活的Pub-Sub以及消息存儲和過濾。併發
低帶寬、低耗能、低成本。佔用移動應用程序帶寬小,而且帶寬利用率高,耗電量較少。eclipse