本文翻譯自http://www.hivemq.com/blog/mqtt-essentials-part-1-introducing-mqtt
未經允許,不得轉載
介紹MQTT
MQTT是一個基于客戶端和服務端的發布/訂閱模式的消息傳輸協議。它輕量、開放、簡介、優雅以便于可以被快速實現。這些特質使其可以應用在多種場景,例如機器到機器通信(M2M),要求低流量如按流量計費的物聯網(IoT)環境。
引用自MQTT3.1.1官方說明
這段關于MQTT的說明很好的解釋了什么是MQTT,它是一個非常輕量的二進制傳輸協議。在某些方面其強于HTTP,因為它只需要極小的包頭;另一方面,MQTT在客戶端也極易部署,這使其很適合應用在一些資源受限的設備上,這也是MQTT的發明初衷。
談點歷史
MQTT由Andy Stanford-Clark(IBM)以及Arlen Nipper(Arcom,現Cirrus Link)發明于1999年,當時他們是為了創造一種新協議,以應用在要求低耗電、低帶寬的石油管道和衛星通信的實際場景中。他們制定了需要在將來的協議中實現的技術目標:
- 易于實施和部署
- 提供高質量的服務器消息分發功能
- 輕量高效低帶寬
- 數據不可探聽(消息加密)
- 可持續會話
盡管現在的關注點已經從嵌入式轉向到物聯網,但這些目標依然是MQTT協議的核心內容。另一個容易讓人混淆的是MQTT究竟是哪些單詞的縮寫,這是一個很長的故事,但簡言之,MQTT官方也不知其來源,它就叫MQTT。
詳細的故事我們此處不再詳述,若感興趣請移步英文原文。
OASIS標準和當前版本
大約在首次版本發布后的三年后,MQTT被宣布將會在OASIS進行標準化進程,OASIS是一個致力于推進高端標準化的開放組織,AMQP,SAML,DocBook都誕生于OASIS。MQTT標準化進程持續大約一年時間,并于2014年10月29日被OASIS正式批準,MQTT3.1.1是現在的最新版本。雖然從3.1版本到3.1.1版本只是個很小的變動,但其在標準化進程中意義非凡,我們強烈建議使用MQTT3.1.1版本。