自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

MQTT協(xié)議介紹,MQTT是物聯(lián)網(wǎng)標(biāo)準(zhǔn)消息傳遞協(xié)議(物聯(lián)網(wǎng)人必懂)

網(wǎng)絡(luò) 物聯(lián)網(wǎng)
MQTT 協(xié)議是輕量、簡單、開放和易于實現(xiàn)的,這些特點使其在物聯(lián)網(wǎng)、小型設(shè)備、移動應(yīng)用等方面有較廣泛的應(yīng)用。

圖片

MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸協(xié)議)是一種基于發(fā)布/訂閱(publish/subscribe)模式的“輕量級”通訊協(xié)議,該協(xié)議構(gòu)建于 TCP/IP 協(xié)議上,由 IBM 在1999年發(fā)布,現(xiàn)已是用于物聯(lián)網(wǎng) (IoT) 的 OASIS 標(biāo)準(zhǔn)消息傳遞協(xié)議。MQTT 最大優(yōu)點在于,用極少的代碼和有限的帶寬,為連接遠程設(shè)備提供實時可靠的消息服務(wù)。

MQTT 協(xié)議是輕量、簡單、開放和易于實現(xiàn)的,這些特點使其在物聯(lián)網(wǎng)、小型設(shè)備、移動應(yīng)用等方面有較廣泛的應(yīng)用。MQTT 協(xié)議運行在傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議 (TCP/IP) 堆棧之上,提供有序、無損、雙向連接。MQTT 協(xié)議在處理網(wǎng)絡(luò)連接不穩(wěn)定、帶寬有限的環(huán)境中有較強的適應(yīng)性,常被用于智能家居、醫(yī)療設(shè)備、衛(wèi)星通信等場景中。

為什么選MQTT?

MQTT 協(xié)議具有以下特點:

  • 輕量且高效:MQTT 客戶端的代碼量非常小,對系統(tǒng)資源的需求也較低,因此非常適合在小型微控制器上使用。此外,MQTT 消息的頭部字段較小,使得網(wǎng)絡(luò)帶寬得到優(yōu)化,進一步提高傳輸效率。
  • 支持雙向通信:MQTT 協(xié)議支持設(shè)備到云端以及云端到設(shè)備之間的消息傳遞。這使得向大量設(shè)備廣播消息變得相對簡單。
  • 可擴展性:MQTT 協(xié)議可以擴展以連接數(shù)百萬個物聯(lián)網(wǎng)設(shè)備,滿足大規(guī)模設(shè)備部署和數(shù)據(jù)采集的需求。
  • 可靠的消息傳遞:對于許多物聯(lián)網(wǎng)應(yīng)用來說,消息傳遞的可靠性至關(guān)重要。MQTT 協(xié)議為此提供了三個定義的服務(wù)質(zhì)量級別:最多一次(QoS 0)、至少一次(QoS 1)和恰好一次(QoS 2),以滿足不同場景下對消息傳遞可靠性的需求。
  • 支持不可靠網(wǎng)絡(luò):許多物聯(lián)網(wǎng)設(shè)備通過移動蜂窩網(wǎng)絡(luò)進行連接,這種網(wǎng)絡(luò)環(huán)境通常是不穩(wěn)定的。然而,MQTT 協(xié)議通過持久會話的設(shè)計,減少了客戶端與代理之間重新建立連接的時間和通信延遲,從而在不可靠網(wǎng)絡(luò)環(huán)境下提供了較為可靠的消息傳輸。
  • 安全:MQTT 協(xié)議可以輕松使用 TLS(傳輸層安全協(xié)議)對傳輸?shù)南⑦M行加密,并支持 OAuth 等現(xiàn)代身份驗證協(xié)議對客戶端進行身份驗證,確保了消息傳輸?shù)陌踩院涂蛻舳松矸莸暮戏ㄐ浴?/span>

常見名詞術(shù)語解釋

1.MQTT Broker

MQTT Broker 是消息中間件,它負(fù)責(zé)接收發(fā)布者發(fā)送的消息,并根據(jù)訂閱者訂閱的主題將消息轉(zhuǎn)發(fā)給訂閱者。它管理客戶端連接、處理訂閱和退訂,并保證按照指定的服務(wù)質(zhì)量(QoS)級別發(fā)送消息。MQTT 是一種開放的輕量級機器對機器協(xié)議,專為物聯(lián)網(wǎng)交互設(shè)計。在 MQTT 網(wǎng)絡(luò)中,MQTT Broker 是協(xié)調(diào)所有 MQTT 代理之間的交互的服務(wù)器。MQTT 客戶端可以是發(fā)布者,也可以是訂閱者,或者兩者都是。MQTT 架構(gòu)可以是集中式的,也可以是分布式的,以適應(yīng)不同的應(yīng)用場景。

2.Bridge

Bridge在MQTT協(xié)議中是指橋接,是指將兩個MQTT代理(Broker)連接起來,使得它們可以相互通信,以實現(xiàn)消息的互通。

當(dāng)兩個Broker被橋接后,它們可以作為接入節(jié)點提供服務(wù),對外可配置一個虛擬IP或域名來訪問。這種橋接方式可以實現(xiàn)負(fù)載均衡和故障轉(zhuǎn)移,提高系統(tǒng)的可用性和穩(wěn)定性。

在配置Bridge時,需要指定消息同步的Topic,而不是同步所有Topic來規(guī)避流量放大的問題,更推薦通過垂直切分的方案進行分流。

MQTT協(xié)議中的Bridge主要有以下特點:

  • 可以實現(xiàn)兩個MQTT代理之間的消息互通,保證消息的可靠性和穩(wěn)定性。
  • 可以配置虛擬IP或域名來訪問,提高系統(tǒng)的可用性和可維護性。
  • 可以實現(xiàn)負(fù)載均衡和故障轉(zhuǎn)移,提高系統(tǒng)的可用性和穩(wěn)定性。
  • 可以指定消息同步的Topic,避免流量放大的問題。
  • 更推薦通過垂直切分的方案進行分流,以進一步提高系統(tǒng)的可用性和穩(wěn)定性。

3.MQTT Client

MQTT Client 是指運行MQTT庫并通過網(wǎng)絡(luò)連接到MQTT broker的設(shè)備,這些設(shè)備可以是微控制器,也可以是成熟的服務(wù)器,它實現(xiàn)了MQTT協(xié)議的客戶端。在MQTT協(xié)議中,一個典型的客戶端會有以下主要操作:發(fā)布消息到某個topic、從某個topic訂閱消息、處理接收到的消息、對接收到的QoS 1或QoS 2消息進行確認(rèn)。MQTT協(xié)議的客戶端實現(xiàn)非常簡單直接。

4.RSMB

RSMB(Very Small Message Broker)是IBM開發(fā)的一個輕量級消息代理,主要用于MQTT協(xié)議的C/S(客戶端/服務(wù)器)架構(gòu)中的消息傳輸服務(wù)。之后,Eclipse Foundation將RSMB接納為其下的一個項目,并將其命名為Eclipse Mosquitto。

Eclipse Mosquitto是一個開源的消息代理,它實現(xiàn)了MQTT協(xié)議的版本3.1和3.1.1,被設(shè)計用于從低功耗的單板計算機到完整的服務(wù)器等各種設(shè)備。MQTT協(xié)議使用發(fā)布/訂閱模型進行消息傳遞,這種模型被證明在許多場景下,特別是物聯(lián)網(wǎng)(IoT)應(yīng)用中,都非常有效。

5.LWT

Last Will and Testament (LWT) 是 MQTT 協(xié)議中用于處理非正常斷開連接時的一種機制。

LWT 可以被理解為在連接到 MQTT Broker 時提到的遺囑。當(dāng) Broker 檢測到 Client 非正常地斷開連接的時候,就會向遺囑主題里面發(fā)布一條消息。遺囑相關(guān)的設(shè)置是在建立連接的時候,在 CONNECT 數(shù)據(jù)包里面的 Variable header (可變頭與) Payload (有效載荷) 中指定的。

6.M2M

機器對機器Machine to machine (M2M)是指數(shù)據(jù)從一臺終端傳送到另一臺終端,也就是機器與機器的對話。M2M應(yīng)用系統(tǒng)構(gòu)成有智能化機器、M2M硬件、通信網(wǎng)絡(luò)、中間件。M2M應(yīng)用領(lǐng)域有家庭應(yīng)用領(lǐng)域、工業(yè)應(yīng)用領(lǐng)域、零售和支付領(lǐng)域、物流運輸行業(yè)、醫(yī)療行業(yè)等。

7.IoT

物聯(lián)網(wǎng)(Internet of Things,IoT)是指通過各種信息傳感器、射頻識別技術(shù)、全球定位系統(tǒng)、紅外感應(yīng)器、激光掃描器等各種裝置與技術(shù),實時采集任何需要監(jiān)控、連接、互動的物體或過程,采集其聲、光、熱、電、力學(xué)、化學(xué)、生物、位置等各種需要的信息,通過各類可能的網(wǎng)絡(luò)接入,實現(xiàn)物與物、物與人的泛在連接,實現(xiàn)對物品和過程的智能化感知、識別和管理。物聯(lián)網(wǎng)是一個基于互聯(lián)網(wǎng)、傳統(tǒng)電信網(wǎng)等的信息承載體,它讓所有能夠被獨立尋址的普通物理對象形成互聯(lián)互通的網(wǎng)絡(luò)。

8.QoS

MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸協(xié)議)中設(shè)計了保證消息穩(wěn)定傳輸?shù)臋C制,包括消息應(yīng)答、存儲和重傳。在此機制下,提供了三種不同層次的服務(wù)質(zhì)量(Quality of Service,QoS)等級:

  • QoS0,即至多一次(At most once)。這種等級下,發(fā)送方(Sender)會盡力向接收方(Receiver)發(fā)送消息,但消息的傳遞流程只包括一次。如果發(fā)送失敗,則不會重試。這種QoS等級適用于對消息傳遞可靠性要求不高,但對響應(yīng)速度要求較高的場景。
  • QoS1,即至少一次(At least once)。這種等級下,發(fā)送方會確保消息至少被傳遞一次到接收方。在某些情況下,消息可能會被多次傳遞。接收方可以通過消息ID或其他標(biāo)識符來判斷是否已經(jīng)接收過某個消息,從而處理重復(fù)接收的情況。這種QoS等級適用于需要確保消息被至少傳遞一次的場景,但允許消息的重復(fù)傳遞。
  • QoS2,即確保只有一次(Exactly once)。這種等級下,發(fā)送方會確保每個消息只被傳遞一次到接收方。在某些情況下,消息可能會被延遲傳遞。接收方可以依賴某種機制(如數(shù)據(jù)庫事務(wù))來確保某個消息的處理不會重復(fù)。這種QoS等級適用于需要確保每個消息只被傳遞一次的場景,并且對消息的延遲傳遞有一定的容忍度。

不同的QoS等級為MQTT的應(yīng)用提供了不同的選擇和靈活性,可以根據(jù)實際需求和網(wǎng)絡(luò)環(huán)境來選擇最合適的QoS等級。需要注意的是,QoS是Sender和Receiver之間的協(xié)議,而不是Publisher和Subscriber之間的協(xié)議。

常見問題

1.什么是 MQTT?

MQTT 是 IoT 連接的 OASIS 標(biāo)準(zhǔn)。它是一種發(fā)布/訂閱、極其簡單且輕量級的消息傳遞協(xié)議,專為受限設(shè)備和低帶寬、高延遲或不可靠的網(wǎng)絡(luò)而設(shè)計。設(shè)計原則是最大限度地減少網(wǎng)絡(luò)帶寬和設(shè)備資源需求,同時嘗試確??煽啃院鸵欢ǔ潭鹊慕桓侗WC。這些原則也使該協(xié)議成為連接設(shè)備的“物聯(lián)網(wǎng)”世界以及帶寬和電池電量非常寶貴的移動應(yīng)用的理想選擇。

2.MQTT 是誰發(fā)明的?

MQTT 由 IBM 的 Andy Stanley-Clark 博士和 Arcom(現(xiàn)為 Eurotech)的 Arlen Nipper 于 1999 年發(fā)明。

3.MQTT用在什么地方?

自 1999 年以來,MQTT 已在各個行業(yè)廣泛實施。

4.MQTT 是標(biāo)準(zhǔn)嗎?

v5.0 和 v3.1.1 現(xiàn)已成為 OASIS 標(biāo)準(zhǔn)(v3.1.1 也已獲得 ISO 批準(zhǔn))。

5.是否有可供 MQTT 使用的標(biāo)準(zhǔn)端口?

是的。TCP/IP 端口 1883 已由 IANA 保留用于 MQTT。TCP/IP 端口 8883 也已注冊,用于通過 SSL 使用 MQTT。

6.MQTT 支持安全性嗎?

在協(xié)議 V3.1 中,您可以使用 MQTT 數(shù)據(jù)包傳遞用戶名和密碼。網(wǎng)絡(luò)上的加密可以使用 SSL 進行處理,獨立于 MQTT 協(xié)議本身(值得注意的是,SSL 不是最輕的協(xié)議,并且確實會增加大量的網(wǎng)絡(luò)開銷)??梢酝ㄟ^應(yīng)用程序加密其發(fā)送和接收的數(shù)據(jù)來增加額外的安全性,但這不是協(xié)議內(nèi)置的東西,以便保持簡單和輕量級。

責(zé)任編輯:趙寧寧 來源: 物聯(lián)網(wǎng)星球
相關(guān)推薦

2023-03-20 16:16:40

MQTT傳輸協(xié)議

2024-03-26 11:52:13

2022-06-27 10:41:45

MQTT物聯(lián)網(wǎng)協(xié)議

2018-08-17 06:13:16

物聯(lián)網(wǎng)協(xié)議MQTTMQTT-SN

2023-09-07 14:59:42

物聯(lián)網(wǎng)MQTTCoAP

2013-04-28 10:29:07

MQTT物聯(lián)網(wǎng)消息隊列遙測傳輸

2021-04-14 15:37:05

物聯(lián)網(wǎng)標(biāo)準(zhǔn)和協(xié)議

2020-11-19 09:19:42

物聯(lián)網(wǎng)物聯(lián)網(wǎng)標(biāo)準(zhǔn)物聯(lián)網(wǎng)協(xié)議

2023-07-18 10:38:09

2019-12-27 10:42:45

HTTPMQTT物聯(lián)網(wǎng)

2023-04-19 15:02:01

MQTT人工智能物聯(lián)網(wǎng)

2018-03-29 10:13:54

物聯(lián)網(wǎng)協(xié)議MQTT

2024-01-12 07:46:07

MQTT協(xié)議物聯(lián)網(wǎng)應(yīng)用.NET

2023-06-20 14:04:59

2019-10-17 09:07:49

TCPUDPHTTP

2023-09-27 14:32:44

2015-11-03 09:35:42

物聯(lián)網(wǎng)核心技術(shù)

2022-05-17 11:06:52

車聯(lián)網(wǎng)通信協(xié)議MQTT

2019-12-27 10:35:59

物聯(lián)網(wǎng)協(xié)議LWM2M MQTTCoAP

2023-08-23 11:08:00

點贊
收藏

51CTO技術(shù)棧公眾號