除了Shashi所說的,它們具有不同的功能和用例。
MQTT爲pub/sub定義了一個標準的有線協議,正如Shashi指出的那樣,它是爲非常輕量級的環境設計的。因此,它具有非常小的線路格式,幾項基本的服務質量和基本功能集。另一方面,傳統的消息排隊系統通常是專有的(儘管AMQP旨在改變這種情況),既包括點對點也包括pub/sub,提供許多服務質量並且傾向於具有更重的線路格式,雖然這存在以支持增強的特徵集,例如回覆到尋址,協議轉換等
MQTT的一個很好的例子是,你必須在手機,平板電腦和機頂盒端點。這些具有最小的馬力,內存和系統資源。通常,來自這些客戶的連接要麼停留在MQTT上,要麼在他們自己之間進行交談,要麼通過橋接連接到企業級MQ,以便與後端應用程序進行互通。例如,基於MQTT的聊天客戶端可能會通過MQTT代理直接與另一個客戶交談。另外,基於MQTT的內容交付系統可以連接到企業消息傳遞網絡,該網絡託管廣告和其他內容,以交付到在手機和平板電腦上運行的應用程序。企業後端可以管理所有的廣告投放統計數據和視圖,MQTT支持允許在最終用戶設備上以最小的電池或馬力消耗來推送內容。
因此,MQTT用於功耗,帶寬和網絡穩定性問題的嵌入式系統和終端用戶設備。這通常與傳統MQ消息傳遞相結合,儘管我從未見過將MQTT用作傳統消息應用程序的專用傳輸。據推測,這是因爲MQTT缺乏一些更強大的功能,例如消息關聯,回覆尋址和點對點尋址,這些功能是20年來消息傳遞的核心。
感謝您的例子! – SlowAndSteady