MQTT於1999年被IBM的Andy Stanford-Clark和Arcom(現為Eurotech)的Arlen Nipper所發明。
MQTT(MMQ Telemetry Transport)是一個發佈/訂閱的訊息傳輸協議,它是開放、極簡單、易於實現、輕量級的。是為受限設備和低頻寬、高延遲或不可靠的網路所設計的。設計原則就是最小化的網路頻寬和設備資源需求,同時試著確保可靠性和一定程度的遞送保證。這些原則也使其成為『machine-to-machine』或『Internet of Things』世界的理想選擇。
本協議運行在TCP/IP協議(或其他網路協議)並提供有序、可靠、雙向的連接。特色包含:
MQTT需要一個Broker來接收、派送客戶端的訊息,客戶端可以當發佈者也可以當訂閱者,或是兩者都可以。因為有Broker的存在,發佈者、訂閱者不需要知道彼此的存在。
舉例來說,我們在武嶺和小琉球都裝置有溫度感測器的設備,定時將溫度值傳給Broker;另一方面在手機或電腦上的應用程式想要接收溫度的資料。因此會有兩件事情發生:
MQTT Broker有眾多選擇,請看官網上的介紹。