許多小型合作5g工業(yè)互聯(lián)網(wǎng)應(yīng)用互聯(lián)網(wǎng)推進(jìn)伙伴可能聽說過術(shù)語mqtt協(xié)議,但有多少小型合作伙伴知道m(xù)qtt是如何產(chǎn)生的?讓我們今天來了解一下。
Mqtt(消息隊(duì)列遙測傳輸)是一種基于發(fā)布/訂閱模式的“輕量級”通信協(xié)議。該協(xié)議建立在TCP/IP協(xié)議之上,由IBM于1999年發(fā)布。mqtt的最大優(yōu)點(diǎn)是,它可以用很少的代碼和有限的帶寬為連接的遠(yuǎn)程設(shè)備提供實(shí)時可靠的消息服務(wù)。作為一種低開銷、低帶寬占用的即時通信協(xié)議,它廣泛應(yīng)用于物聯(lián)網(wǎng)、小型設(shè)備、移動應(yīng)用等領(lǐng)域。
Mqtt是一種基于客戶機(jī)-服務(wù)器的消息發(fā)布/訂閱傳輸協(xié)議。Mqtt協(xié)議輕量級、簡單、開放且易于實(shí)現(xiàn)。這些特點(diǎn)使其具有廣泛的適用性。在許多情況下,包括受限環(huán)境,如機(jī)器對機(jī)器(M2M)通信和物聯(lián)網(wǎng)(IOT)。它已廣泛應(yīng)用于通過衛(wèi)星鏈路的通信傳感器、偶爾的撥號醫(yī)療設(shè)備、智能家居和一些小型設(shè)備。
Mqtt是一種基于客戶機(jī)-服務(wù)器的消息發(fā)布/訂閱傳輸協(xié)議。Mqtt協(xié)議輕量級、簡單、開放且易于實(shí)現(xiàn)。這些特點(diǎn)使其適用范圍廣泛,包括受限環(huán)境,如機(jī)器對機(jī)器(M2M)通信和物聯(lián)網(wǎng)(IOT)。它已廣泛應(yīng)用于衛(wèi)星鏈路通信傳感器、偶爾使用的撥號醫(yī)療設(shè)備、智能家居和一些小型設(shè)備。
mqtt(消息隊(duì)列遙測傳輸)體系結(jié)構(gòu)的一個關(guān)鍵方面涉及在數(shù)據(jù)更改時使用中間服務(wù)器從連接的設(shè)備收集數(shù)據(jù)。然后,它將這些數(shù)據(jù)點(diǎn)發(fā)布到從訂閱者收集特定數(shù)據(jù)源的其他系統(tǒng)或應(yīng)用程序。由于訂閱系統(tǒng)或應(yīng)用程序不直接連接到它們監(jiān)視的設(shè)備,因此mqtt消息傳遞結(jié)構(gòu)本質(zhì)上提供了某種級別的安全性。
然而,與任何安全措施一樣,將該設(shè)備與訂閱設(shè)備系統(tǒng)分離并不能解決所有潛在的網(wǎng)絡(luò)安全問題。除了服務(wù)器提供的直接斷開連接外,mqtt基礎(chǔ)設(shè)施還支持多種使用廣泛使用的互聯(lián)網(wǎng)安全方法的選項(xiàng),如在線銀行中使用的、由NIST(國家標(biāo)準(zhǔn)與技術(shù)研究所)推薦的方法。
cirruslink總裁兼首席技術(shù)官、mqtt聯(lián)合創(chuàng)始人阿倫·尼珀(Arlennipper)表示,mqtt邊緣和企業(yè)客戶端使用相同的安全模型?!懊總€人都使用傳輸層安全性(TLS)和來自證書頒發(fā)機(jī)構(gòu)(CA)的安全證書憑據(jù),通過TCP/IP網(wǎng)絡(luò)啟動出站連接,”他說。
由于mqtt服務(wù)器在企業(yè)服務(wù)總線中提供消息傳遞機(jī)制,nipper指出mqtt服務(wù)器“必須符合3.1.1oasis標(biāo)準(zhǔn)?!眂irruslink為此提供了mqtt分發(fā)服務(wù)器和chariotmqtt服務(wù)器。該公司還為多個mqtt服務(wù)器冗余提供chariotmqtt服務(wù)器,并為本地或云連接應(yīng)用程序提供更多連接的客戶端。
由于物聯(lián)網(wǎng)的環(huán)境非常特5g工業(yè)互聯(lián)網(wǎng)應(yīng)用互聯(lián)網(wǎng)推進(jìn)殊,
mqtt需要遵循以下設(shè)計(jì)原則:
精簡和不增加可有可無的功能,
發(fā)布/訂閱(Pub/sub)模式,以促進(jìn)傳感器之間的消息傳輸,
允許用戶動態(tài)創(chuàng)建主題,零運(yùn)維成本,
將傳輸容量降至最低,以提高傳輸效率,
考慮了低帶寬、高延遲、網(wǎng)絡(luò)不穩(wěn)定等因素,
支持連續(xù)會話控制,
了解客戶機(jī)的計(jì)算能力可能非常低,
提供服務(wù)質(zhì)量管理,
假設(shè)數(shù)據(jù)未知,則不需要傳輸數(shù)據(jù)的類型和格式來保持靈活性。
MQTT協(xié)議優(yōu)點(diǎn)
1.MQTT的獨(dú)特功能是每個消息頭都可以縮短為2個字節(jié)。對于HTTP,為每個新請求消息重新建立HTTP連接會產(chǎn)生可觀的開銷。 MQ和MQTT使用的持久連接可以大大減少這種開銷;
2.包容不穩(wěn)定的網(wǎng)絡(luò),MQTT和MQ可以從諸如斷開連接之類的故障中恢復(fù),無需進(jìn)一步的代碼要求。但是,HTTP本身無法實(shí)現(xiàn)此目標(biāo),并且客戶端必須重試編碼,這會增加身份問題;
3.低功耗MQTT專為低功耗目標(biāo)而設(shè)計(jì)。HTTP設(shè)計(jì)未考慮此因素,這會增加功耗;
4.在連接數(shù)百萬個客戶端的情況下,在HTTP堆棧中維護(hù)數(shù)百萬個并發(fā)連接,需要大量工作才能提供支持。盡管這種支持是可行的,但大多數(shù)商業(yè)產(chǎn)品都經(jīng)過優(yōu)化以處理此訂單上的持久連接。 IBM提供了IBM MessageSight,這是一種單機(jī)架安裝服務(wù)器,已經(jīng)過測試,可以通過MQTT處理多達(dá)一百萬個并發(fā)設(shè)備。相反,MQ不是為許多同時進(jìn)行的客戶設(shè)計(jì)的;
5.推送通知。能夠及時向客戶發(fā)送通知,以常規(guī)的輪詢或推送方法。從電池、系統(tǒng)負(fù)載、帶寬而言,推送是最佳解決方案;
6.客戶端平臺的差異。 HTTP和MQTT客戶端都在許多平臺上實(shí)現(xiàn)。 MQTT的簡單性可幫助以最少的努力在其他客戶端上實(shí)施MQTT;
7.防火墻容錯能力。某些公司防火墻將出站連接限制到某些預(yù)定義的端口,這些端口通常僅限于HTTP(端口80),HTTPS(端口443)等,HTTP在這種情況下顯然可以工作。 MQTT封裝在WebSockets連接中,并顯示為HTTP升級請求,因此可以在這種情況下運(yùn)行;
什么是 MQTT - MQTT 的用例
· 汽車
BMW Mobility Services(汽車共享應(yīng)用)已經(jīng)使用 HiveMQ 和 MQTT 超過 4 年。HiveMQ 支持超過 80,000 個并發(fā)連接的軟件客戶端,每分鐘生成超過 90,000 條消息。BMW Mobility Services 使用 HiveMQ 作為內(nèi)部消息總線,在后端微服務(wù)之間移動數(shù)據(jù)。
· 后勤
Matternet 正在制造無人機(jī),以減少在醫(yī)院和測試實(shí)驗(yàn)室之間運(yùn)輸醫(yī)療樣本所需的時間。通過使用 HiveMQ,Matternet 可以實(shí)時跟蹤航班狀態(tài)。MQTT 消息通過運(yùn)行在 Matternet 平臺上的 HiveMQ 傳輸。這些消息在飛行期間在無人機(jī)之間發(fā)送到著陸站。
· 制造業(yè)
MQTTRoute 是一個傳輸消息的平臺,Celikler Holding 使用它來監(jiān)控多個發(fā)電廠的發(fā)電量。MQTT 的使用提供了發(fā)電廠之間的安全通信。
· 消費(fèi)產(chǎn)品
CASO Design 打造智能廚房電器。例如,CASCO WineComfort Smart,一款酒柜,保證了葡萄酒的品質(zhì)。該應(yīng)用程序會在幾秒鐘內(nèi)監(jiān)控并報(bào)告任何錯誤消息,例如,如果溫度發(fā)生任何變化,您將收到通知。通過這種方式,它可以確保葡萄酒儲存在合適的條件下。