波多野结衣无码一区,久久久噜噜噜久久中文免费,亚洲性爱一区二区免费看,久久国产国内精品国语对白

首頁
視頻
讓中國物聯(lián)網(wǎng)領(lǐng)先世界
搜索
歷史搜索
搜索發(fā)現(xiàn)

MQTT協(xié)議的優(yōu)點和缺點分析

2022-09-22 10:30:34| 來源:聚英電子| | 0

  物聯(lián)網(wǎng)是對傳統(tǒng)互聯(lián)網(wǎng)的擴展和擴展。用戶終端從傳統(tǒng)計算機擴展到任何設備,其中該設備先通過各種傳感器收集信息,然后再通過計算設備收集信息、交換和交流網(wǎng)絡信息。之所以出現(xiàn)MQTT協(xié)議,是因為移動互聯(lián)網(wǎng)目前尚處于起步階段,無法提供可靠的網(wǎng)絡保證。

  眾所周知,物聯(lián)網(wǎng)是在傳統(tǒng)互聯(lián)網(wǎng)基礎上延伸和擴展而出的概念,用戶端從傳統(tǒng)的計算機延伸和擴展到了任何物品與物品之間,而物品則通過各種傳感器進行信息采集,然后通過計算設備進行網(wǎng)絡信息交換與 通信。但是當前移動互聯(lián)網(wǎng)正處于起步階段,很多時候無法提供可靠的網(wǎng)絡保障,因此,IBM主導并提出了MQTT協(xié)議,致力于解決這一方面的問題。

  一、MQTT具有許多優(yōu)點

  

MQTT架構(gòu)圖


  1.MQTT的獨特功能是每個消息頭都可以縮短為2個字節(jié)。對于HTTP,為每個新請求消息重新建立HTTP連接會產(chǎn)生可觀的開銷。 MQ和MQTT使用的持久連接可以大大減少這種開銷。

  2.包容不穩(wěn)定的網(wǎng)絡,MQTT和MQ可以從諸如斷開連接之類的故障中恢復,無需進一步的代碼要求。但是,HTTP本身無法實現(xiàn)此目標,并且客戶端必須重試編碼,這會增加身份問題。

  3.低功耗MQTT專為低功耗目標而設計。 HTTP設計未考慮此因素,這會增加功耗。

  4.在連接數(shù)百萬個客戶端的情況下,在HTTP堆棧中維護數(shù)百萬個并發(fā)連接需要大量工作才能提供支持。盡管這種支持是可行的,但大多數(shù)商業(yè)產(chǎn)品都經(jīng)過優(yōu)化以處理此訂單上的持久連接。 IBM提供了IBM MessageSight,這是一種單機架安裝服務器,已經(jīng)過測試,可以通過MQTT處理多達一百萬個并發(fā)設備。相反,MQ不是為許多同時進行的客戶設計的。

  5.推送通知。您需要能夠及時向客戶發(fā)送通知。為此,您應該使用常規(guī)的輪詢或推送方法。就電池,系統(tǒng)負載和帶寬而言,推送是最佳解決方案。

  6.客戶端平臺的差異。 HTTP和MQTT客戶端都在許多平臺上實現(xiàn)。 MQTT的簡單性可幫助您以最少的努力在其他客戶端上實施MQTT。

  7.防火墻容錯能力。某些公司防火墻將出站連接限制到某些預定義的端口,這些端口通常僅限于HTTP(端口80),HTTPS(端口443)等,HTTP在這種情況下顯然可以工作。 MQTT封裝在WebSockets連接中,并顯示為HTTP升級請求,因此可以在這種情況下運行。

  

MQTT架構(gòu)圖


  

  二、MQTT的缺點

  實際上,MQTT被廣泛使用,可以在幾乎任何大型硬件和互聯(lián)網(wǎng)公司中找到,例如Facebook,BP,阿里巴巴,百度。

  由于MQTT本身的技術(shù)優(yōu)勢,越來越多的公司選擇MQTT作為物聯(lián)網(wǎng)產(chǎn)品通信的標準協(xié)議。結(jié)果,工程師逐漸意識到MQTT協(xié)議的功能需要大規(guī)模商業(yè)化進行改進。例如:

  1.如果沒有完整的SDK,則需要用于不同異構(gòu)設備的軟件SDK軟件包才能與MQTT服務器(例如MCU,Linux,Android,IOS,WEB)進行通信,以實現(xiàn)互連和互操作性。

  2.不支持文件和AV。在某些應用場景中,需要傳輸?shù)男畔⒖赡懿幌抻谛枰ㄟ^AV與文件通信的指令,例如語音和視頻信號。

  3.不支持與第三方HTTP集成。 MQTT協(xié)議優(yōu)于常規(guī)HTTP協(xié)議,但是基于傳統(tǒng)HTTP協(xié)議的WEB服務器仍在主流市場中占主導地位。這些服務器應與MQTT協(xié)議互連,以降低升級成本。

  4.不支持負載分配。負載分配服務器對于高并發(fā)性和防止惡意攻擊也是必不可少的。那些高負載的應用程序得不到所需的資源,而低負載的應用則會使資源閑置,從而導致資源的使用不均衡。

  5.不支持用戶管理界面。當用戶分析設備行為數(shù)據(jù)時,這一點尤其重要。在工業(yè)4.0和大數(shù)據(jù)時代,這是不可避免的需求。

  6.設備脫機后,不支持脫機消息來補償從MQTT服務器到設備的控制信息丟失。

  7.不支持點對點通信,并且使用標準的MQTT協(xié)議。從理論上講,點對點通信可以通過相互訂閱來實現(xiàn),但是邏輯相對復雜并且涉及設備安全性。當設備B和設備C相同時-在主題的情況下,設備A無法知道消息是來自設備B還是來自設備C,并且消息很可能是被設備D竊聽的。

  8.不支持群組通信或群組管理,而是實現(xiàn)群組成員的管理。小組成員可以交換消息,如果一個設備由多個人控制或多個設備由一個人控制,則此功能特別有用。

  三、MQTT的應用

  MQTT協(xié)議依賴于類似網(wǎng)絡的系統(tǒng),包括服務器,一個或多個客戶端和代理。代理是MQTT服務器,連接的設備是客戶端。發(fā)布者和客戶端都不會處理這些工作。相反,處理能力和通信主要由代理處理。

  因此,MQTT允許開發(fā)人員建立通信通道層次結(jié)構(gòu)。從視覺上看,這就像一個樹枝。發(fā)布者或服務器首先向代理發(fā)送新數(shù)據(jù),以及傳遞控制說明。

  然后,代理會促進另一端的客戶之間的信息交換。高級客戶端可以從發(fā)布服務器接收每一條消息或更新,而低級客戶端只接收與其基本級別相關(guān)的消息。

  所有發(fā)布并發(fā)送給代理的數(shù)據(jù)(以及接收到的數(shù)據(jù))均采用二進制協(xié)議進行編碼。 因此,必須先解釋該消息,然后才能使用數(shù)據(jù)內(nèi)容。

  盡管如此,MQTT僅通過純文本分發(fā)安全性憑證,因此它并不完全安全,并且不能為大多數(shù)應用程序提供足夠的身份驗證或安全性。開發(fā)人員可以通過實現(xiàn)SSL框架解決此問題,該框架通過加密保護任何傳輸?shù)臄?shù)據(jù)。同時,隨著新網(wǎng)絡技術(shù)的廣泛應用,可以方便地將現(xiàn)有網(wǎng)絡升級到新的技術(shù)標準,并保持原有技術(shù)的兼容性。


聯(lián)系銷售
銷售王經(jīng)理微信 銷售王經(jīng)理
微信公眾號 微信公眾號
服務熱線
400-6688-400