什麼是MQTT?
MQTT代表訊息佇列遙測傳輸 (Message Queuing Telemetry Transport)。它是一種高度輕量級的釋出-訂閱訊息傳輸協議。該協議適用於頻寬良好的遠端區域連線。這種特性使其在多種情況下都非常有用,包括穩定的環境,例如裝置到裝置的通訊和物聯網。
MQTT由IBM在20世紀90年代後期建立。其最初的軟體是為了將石油管道上的感測器與衛星連線起來。它是一個支援各方之間非同步通訊的訊息協議。
MQTT代理是每個釋出/訂閱協議的中心。基於實現,一個代理可以處理多達數千個同時連線的MQTT客戶端。代理負責接收所有訊息,過濾訊息,確定哪些客戶端訂閱了每條訊息並將訊息傳送給這些訂閱的客戶端。代理還管理所有持久使用者的會話,例如訂閱和未接收的訊息。
非同步訊息協議在區域和時間上解耦了訊息傳送者和接收者,因此在不可靠的網路環境中具有可擴充套件性。
MQTT的產生是為了收集某些工具的資訊,然後將這些資訊傳輸到IT框架。它輕量級,非常適合孤立的監控,尤其是在需要較小程式碼佔用空間或確定性網路頻寬的M2M鏈路中。
這些特性使其在多種情況下都非常有用,包括穩定的環境,例如機器到機器的連線和物聯網環境。
它是一個釋出和訂閱系統,使用者可以在其中釋出和接收訊息。它簡化了多個裝置之間的通訊。它是一個為受限裝置和低頻寬設計的簡單訊息協議。因此,它是物聯網應用的正確解決方案。
在MQTT中,訂閱者和釋出者是客戶端的兩個角色。客戶端訂閱主題以釋出和接收訊息。可以說,如果某個程式或裝置使用MQTT,則該裝置定義為客戶端。
如果某個裝置開啟與伺服器相關的網路,釋出其他客戶端需要檢視的訊息,訂閱它需要接收的訊息,取消訂閱它不需要接收的訊息,並關閉與伺服器的網路連線,則該裝置就是一個客戶端。
該標準還表示三種訊息型別,例如連線、斷開連線和釋出。連線訊息型別由客戶端傳輸到中介,斷開連線訊息型別是中介傳輸給已連線客戶端的“會話結束”驗證。
釋出訊息型別從客戶端開始,並將資訊傳送到訊息中介。當轉發資料時,中介也會向客戶端傳輸此訊息架構。
資料結構
網路
關係型資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP