Zaiming(Stone)Shi:EMQX 歐洲研發(fā)中心負責人,擁有多年大規(guī)模分布式 MQTT 消息系統(tǒng)開發(fā)經(jīng)驗,致力于與 EMQ 斯德哥爾摩研發(fā)團隊一起將 EMQX 打造成為全球最優(yōu)秀的 MQTT broker。
MQTT 是物聯(lián)網(wǎng)消息傳輸標準協(xié)議,其采用極其輕量級的發(fā)布訂閱消息模型,以可擴展、可靠且高效的方式連接物聯(lián)網(wǎng)設備。
自 1999 年 IBM 發(fā)布 MQTT 以來已經(jīng)過去了二十多年,而自 2012 年 EMQ 在 GitHub 上發(fā)布開源 MQTT 消息服務器 EMQX,也已經(jīng)過去了十年。如今,我們來到了各類新興技術飛速進步的 2023 年,隨著 MQTT 在物聯(lián)網(wǎng)中的使用規(guī)模不斷增長,場景更加多樣化,我們可以預見在 MQTT 技術領域中將會出現(xiàn)以下 7 個發(fā)展趨勢。
MQTT over QUIC
QUIC(Quick UDP Internet Connections)是由 Google 開發(fā)的一種新的傳輸協(xié)議,運行于 UDP 之上,旨在減少建立新連接所帶來的延遲,提高數(shù)據(jù)傳輸速率,并解決 TCP 的一些限制。
下一代互聯(lián)網(wǎng)協(xié)議 HTTP/3 使用了 QUIC 作為底層傳輸協(xié)議,為網(wǎng)絡應用帶來了比 HTTP/2 更低的時延和更好的加載體驗。
MQTT over QUIC是自 2017 年 MQTT 5.0 規(guī)范發(fā)布以來 MQTT 協(xié)議中最具創(chuàng)新性的進展。憑借多路復用、更快的連接建立和遷移等優(yōu)勢特性,其具有成為下一代 MQTT 協(xié)議標準的潛力。
MQTT 5.0 定義了三種傳輸類型:TCP、TLS 和 WebSocket。在物聯(lián)網(wǎng)安全最佳實踐中,MQTT over TLS/SSL 廣泛用于生產(chǎn)環(huán)境以保護客戶端和 Broker 之間的通信。然而它速度慢、延遲高,需要 3.5 個 RTT,即 TCP 3 次握手以及 TLS 4 次握手才能建立新的MQTT 連接。
與 MQTT over TLS/SSL 相比,MQTT over QUIC 更快且延遲更低,在初次建立連接時僅需 1 RTT,并可以利用 0 RTT 連接恢復的特性來加速重連。QUIC 協(xié)議??梢葬槍Ω鞣N用例進行定制,例如在不穩(wěn)定網(wǎng)絡環(huán)境下,或是客戶端到服務器更低延遲通信的場景。它能夠在諸如移動網(wǎng)絡下的車聯(lián)網(wǎng)(IoV)以及要求極低時延的工業(yè)物聯(lián)網(wǎng)(IIoT)場景下發(fā)揮重要作用,并有效提升其使用體驗。
開源 MQTT 消息服務器 EMQX 在其最新的 5.0 版本中引入了 MQTT over QUIC 支持,是全球首個支持 MQTT over QUIC 的 MQTT 消息服務器。目前 EMQ 正以 OASIS MQTT 技術委員會成員身份積極推進 MQTT over QUIC 的標準化落地,可以預見在不久的將來,MQTT 也將和 HTTP/3 一樣使用 QUIC 作為其主要傳輸層。
MQTT Serverless
云計算中 Serverless 模式的興起標志著應用的設計、開發(fā)、部署和運行方式發(fā)生了突破性的范式轉(zhuǎn)變。這種模式下開發(fā)者將能夠?qū)W⒂趹玫臉I(yè)務邏輯,無需管理基礎設施,從而提高敏捷性、可擴展性和成本效益。
Serverless 模式的 MQTT 消息服務器將是 2023 年的一種前沿架構創(chuàng)新。傳統(tǒng)的物聯(lián)網(wǎng)應用需要數(shù)分鐘甚至數(shù)小時才能在云上或在企業(yè)私有環(huán)境中部署 MQTT 消息服務,相比之下,Serverless MQTT 只需點擊幾下就能快速完成 MQTT 服務的部署。
除了極快的部署速度,Serverless MQTT 更大的價值在于其無可比擬的靈活性:根據(jù)用戶需求對資源進行無縫擴展,以及與這種彈性架構相匹配的按量計費定價模式。Serverless MQTT 有望推動 MQTT 更廣泛的應用,降低運營成本,激發(fā)不同行業(yè)的創(chuàng)新協(xié)作。我們甚至可能看到每個物聯(lián)網(wǎng)和工業(yè)物聯(lián)網(wǎng)開發(fā)者都能擁有一個免費的 Serverless MQTT 消息服務器。
2023 年 3 月,EMQX Cloud 推出了全球首個 Serverless MQTT 服務,為用戶提供了 5 秒極速部署和更靈活的計費方式,幫助用戶以更低的成本高效開發(fā)物聯(lián)網(wǎng)應用。
MQTT 多租戶架構
多租戶架構是實現(xiàn) Serverless MQTT 服務的一個重要基礎。來自不同用戶或租戶的物聯(lián)網(wǎng)設備可以連接到同一個大規(guī)模的 MQTT 集群,同時保持其數(shù)據(jù)和業(yè)務邏輯與其他租戶隔離。
在 SaaS 應用中多租戶架構很常見,即一個應用為多個客戶或租戶服務。其通常有兩種以下不同的實現(xiàn)方式:
租戶隔離: 向每個租戶提供一個單獨的應用實例,在服務器或虛擬機上運行。
數(shù)據(jù)庫隔離: 多個租戶共享一個應用實例,但每個租戶有自己的數(shù)據(jù)庫模式,以確保數(shù)據(jù)隔離。
在 MQTT Broker 的多租戶架構中,每個設備和租戶都有一個單獨的、隔離的命名空間,包括一個獨特的主題前綴和訪問控制列表(ACL),用來定義用戶可以發(fā)布或訂閱哪些主題。
多租戶 MQTT 消息服務器能夠減少管理開銷,并靈活支持復雜場景或大規(guī)模物聯(lián)網(wǎng)應用場景。例如,一個大型組織中的部門和應用可以作為不同的租戶使用同一個 MQTT 集群。
MQTT Sparkplug 3.0
MQTT Sparkplug 是由 Eclipse 基金會設計的開放標準規(guī)范,其最新版本為 MQTT Sparkplug 3.0,它定義了工業(yè)設備的統(tǒng)一數(shù)據(jù)接入規(guī)范,能夠通過 MQTT 協(xié)議連接各類工業(yè)傳感器、動作執(zhí)行器、可編程邏輯控制器(PLC)和網(wǎng)關。
MQTT Sparkplug 3.0 于 2022 年 11 月發(fā)布,具有以下關鍵的新功能和改進:
MQTT 5.0 支持:增加了對 MQTT 5.0 的支持,包括共享訂閱、消息過期和流量控制等新功能。
優(yōu)化的數(shù)據(jù)傳輸:對數(shù)據(jù)傳輸進行了優(yōu)化,使用更緊湊的數(shù)據(jù)編碼和壓縮算法。
擴展的數(shù)據(jù)模型:引入了一個擴展的數(shù)據(jù)模型,它允許更詳細的設備信息通信,還支持配置數(shù)據(jù)和設備元數(shù)據(jù)等其他信息的傳輸。
更高的安全性:包括對安全性的若干改進,如支持雙向 TLS 認證、優(yōu)化的訪問控制機制等。
簡化的設備管理:包括自動設備注冊和發(fā)現(xiàn),簡化設備配置,以及改進診斷等。
MQTT Sparkplug 旨在簡化不同工業(yè)設備間的連接和通信,實現(xiàn)高效的工業(yè)數(shù)據(jù)采集、處理和分析。隨著新版本的發(fā)布,MQTT Sparkplug 3.0 將會在工業(yè)物聯(lián)網(wǎng)領域得到更廣泛的應用。
MQTT 統(tǒng)一命名空間
統(tǒng)一命名空間(Unified Namespace)是一個建立在面向工業(yè)物聯(lián)網(wǎng)和工業(yè) 4.0 的MQTT Broker上的解決方案架構。它為 MQTT 主題提供了一個統(tǒng)一的命名空間,并為消息和結構化數(shù)據(jù)提供了一個集中的存儲庫。
統(tǒng)一命名空間使用中央 MQTT Broker ,以星形拓撲結構連接工業(yè)設備、傳感器和應用程序,如 SCADA、MES 和 ERP。統(tǒng)一命名空間以事件驅(qū)動的架構極大簡化了工業(yè)物聯(lián)網(wǎng)應用的開發(fā)。
在傳統(tǒng)的工業(yè)物聯(lián)網(wǎng)系統(tǒng)中,OT 和 IT 系統(tǒng)通常是分開的,其數(shù)據(jù)、協(xié)議和工具均獨立運行。通過采用統(tǒng)一命名空間,可以讓 OT 和 IT 系統(tǒng)更有效地交換數(shù)據(jù),最終實現(xiàn)物聯(lián)網(wǎng)時代 OT 和 IT 的統(tǒng)一。
如今,通過 EMQ 提供的開源 MQTT 消息服務器 EMQX或NanoMQ,結合工業(yè)協(xié)議網(wǎng)關軟件 Neuron,用戶將可以構建一個由 IT 界最先進技術支持的統(tǒng)一命名空間架構。
MQTT 跨域集群
MQTT 跨域集群(MQTT Geo-Distribution)是一個創(chuàng)新架構,允許部署在不同地區(qū)或云上的 MQTT Broker 作為一個單集群一起工作。通過跨域集群,MQTT 消息可以在不同地區(qū)的 MQTT Broker 之間自動同步和傳輸。
有兩種方法可以實現(xiàn) MQTT 跨域集群:
單集群,多地區(qū): 單個 MQTT 集群,每個節(jié)點在不同地區(qū)運行。
多集群,多云: 分布在不同云中的多個 MQTT 集群連接在一起。
我們可以將這兩種方法結合,在跨區(qū)域部署的 MQTT Broker 之間創(chuàng)建一個可靠的物聯(lián)網(wǎng)數(shù)據(jù)基礎設施。通過 MQTT 跨域集群,企業(yè)可以建立一個跨多云的全球 MQTT 接入網(wǎng)絡。不管所處的物理位置在哪里,設備和應用都能從最近的節(jié)點接入實現(xiàn)相互通信。
MQTT Streams
MQTT Streams 是 MQTT 協(xié)議備受期待的一項擴展能力,能夠在 MQTT Broker 內(nèi)實時處理海量、高頻的數(shù)據(jù)流。這在發(fā)布訂閱模式消息傳輸?shù)幕A上進一步增強了傳統(tǒng) MQTT Broker 的能力。通過 MQTT Streams,客戶端可以像 Apache Kafka 一樣將 MQTT 消息以流的形式進行生產(chǎn)和消費,從而實現(xiàn)歷史消息回放。這對事件驅(qū)動的處理尤為重要,可以確保最終的數(shù)據(jù)一致性、可審計和合規(guī)性。
流處理對于從物聯(lián)網(wǎng)設備產(chǎn)生的大量數(shù)據(jù)中實時挖掘商業(yè)價值至關重要。以前,這一過程通過一個過時且復雜的大數(shù)據(jù)堆棧實現(xiàn),需要 MQTT Broker 與 Kafka、Hadoop、Flink 或 Spark 進行集成。
而通過內(nèi)置的流處理,MQTT Streams 簡化了物聯(lián)網(wǎng)數(shù)據(jù)處理架構,提高了數(shù)據(jù)處理效率和響應時間,并為物聯(lián)網(wǎng)提供了一個統(tǒng)一的消息傳遞和流處理平臺。通過消息去重、消息重放和消息過期等功能,MQTT Streams 實現(xiàn)了高吞吐量、低時延和容錯,使其成為基于 MQTT 的物聯(lián)網(wǎng)應用中實時數(shù)據(jù)流處理的強大工具。
結語
總的來說,MQTT 的這 7 個技術趨勢反映了新興技術的進步以及它們在推動物聯(lián)網(wǎng)發(fā)展進程中的重要作用。
作為一個發(fā)展了二十多年的標準消息傳輸協(xié)議,MQTT 的重要性正在持續(xù)增長。隨著物聯(lián)網(wǎng)在各行業(yè)被越來越廣泛地應用,MQTT 協(xié)議也在不斷發(fā)展以應對新的挑戰(zhàn),滿足更低延遲的連接、更便捷的 MQTT 服務部署、復雜場景或大規(guī)模物聯(lián)網(wǎng)應用下靈活管理以及工業(yè)設備接入的需求。作為龐大物聯(lián)網(wǎng)的神經(jīng)系統(tǒng),在 2023 年及更遠的未來,MQTT 必將在工業(yè)物聯(lián)網(wǎng)和車聯(lián)網(wǎng)等關鍵領域中發(fā)揮重要作用。
免責聲明:市場有風險,選擇需謹慎!此文僅供參考,不作買賣依據(jù)。
關鍵詞: