0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

知識(shí)科普 MQTT Broker 代理 是什么

IOTRouter ? 來源:IOTRouter ? 作者:IOTRouter ? 2024-08-01 16:51 ? 次閱讀

(選自成都縱橫智控-https://www.iotrouter.com)

MQTT Broker是MQTT(Message Queuing Telemetry Transport)協(xié)議中的核心組件,它是一種輕量級(jí)的、發(fā)布/訂閱模式的消息傳輸協(xié)議,廣泛應(yīng)用于物聯(lián)網(wǎng)(IoT)和M2M(機(jī)器對(duì)機(jī)器)通信中。MQTT Broker在MQTT通信中扮演著關(guān)鍵的角色,負(fù)責(zé)管理客戶端的連接,接收和處理客戶端發(fā)布的消息,以及將這些消息傳遞給訂閱了相應(yīng)主題的訂閱者。它是客戶端之間進(jìn)行通信的中間人,確保消息的可靠傳遞和路由。

MQTT Broker的基本功能

wKgZomaU5NOAeXp5AAHyw44uN4w849.pngMQTT Broker的基本功能

客戶端連接管理

MQTT Broker負(fù)責(zé)管理所有連接到它的MQTT客戶端。當(dāng)一個(gè)客戶端希望與Broker建立連接時(shí),它會(huì)向Broker發(fā)送一個(gè)連接請(qǐng)求。Broker會(huì)驗(yàn)證客戶端的身份和權(quán)限,并在成功驗(yàn)證后建立與該客戶端的長(zhǎng)連接。這樣,Broker就可以和多個(gè)客戶端同時(shí)保持連接。

消息路由

在MQTT通信中,客戶端通過發(fā)布消息將信息發(fā)送到Broker,然后Broker負(fù)責(zé)將這些消息路由到訂閱了相應(yīng)主題的訂閱者。這是發(fā)布/訂閱模式的基本特性,允許多個(gè)訂閱者同時(shí)接收相同的消息。Broker會(huì)維護(hù)訂閱者的列表,并在有新的消息發(fā)布時(shí)將消息傳遞給所有訂閱了相關(guān)主題的訂閱者。

消息存儲(chǔ)與傳遞

MQTT Broker可能會(huì)對(duì)未及時(shí)接收的消息進(jìn)行存儲(chǔ),以確保即使客戶端離線,消息也能在客戶端再次上線時(shí)傳遞到達(dá)。這種消息存儲(chǔ)和傳遞機(jī)制可以確保消息的可靠性和持久性,即使在網(wǎng)絡(luò)不穩(wěn)定或客戶端不可用的情況下,消息也能夠被正確傳遞給訂閱者。

訂閱管理

Broker負(fù)責(zé)管理所有訂閱主題的客戶端列表。當(dāng)有新的客戶端訂閱或取消訂閱某個(gè)主題時(shí),Broker會(huì)相應(yīng)地更新訂閱列表。這樣,Broker可以準(zhǔn)確地知道哪些客戶端訂閱了哪些主題,以便在消息發(fā)布時(shí)將消息傳遞給正確的訂閱者。

QoS(Quality of Service)支持

MQTT協(xié)議支持多個(gè)消息傳遞的質(zhì)量等級(jí),包括QoS 0(至多一次)、QoS 1(至少一次)和QoS 2(僅一次)。QoS定義了消息傳遞的可靠性,Broker會(huì)根據(jù)客戶端的QoS要求,確保消息傳遞的可靠性。例如,在QoS 1級(jí)別下,Broker會(huì)確保消息至少傳遞一次給訂閱者,而在QoS 2級(jí)別下,Broker會(huì)確保消息僅傳遞一次,不會(huì)出現(xiàn)重復(fù)傳遞。

wKgZomaU5NOADP5JAAD8DHzulvw462.png?QoS(Quality of Service)支持

MQTT Broker的重要性

wKgaomarS56AaEYBAAClltkTwho661.pngMQTT Broker的重要性

MQTT Broker是整個(gè)MQTT通信架構(gòu)的核心,它為客戶端之間的消息傳遞提供了關(guān)鍵的支持。在物聯(lián)網(wǎng)和M2M通信中,大量的設(shè)備和應(yīng)用需要進(jìn)行實(shí)時(shí)的消息交互,而MQTT Broker作為中間件,能夠確保這些消息的高效傳遞和可靠路由。它解耦了客戶端之間的直接連接,使得整個(gè)通信系統(tǒng)更加靈活、可擴(kuò)展和容錯(cuò)。此外,MQTT Broker還提供了對(duì)QoS、消息持久性等重要特性的支持,使得通信過程更加可靠和穩(wěn)定。

wKgZomaU5NKANx_jAAAqF74rqts990.png

總結(jié)

MQTT Broker作為MQTT通信的核心組件,扮演著關(guān)鍵的角色,負(fù)責(zé)管理客戶端連接、消息路由和訂閱管理等任務(wù)。它在物聯(lián)網(wǎng)和M2M通信中發(fā)揮著不可或缺的作用,使得設(shè)備和應(yīng)用能夠高效地進(jìn)行實(shí)時(shí)通信,為物聯(lián)網(wǎng)的發(fā)展和應(yīng)用提供了強(qiáng)大的技術(shù)支持。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 核心
    +關(guān)注

    關(guān)注

    0

    文章

    44

    瀏覽量

    15018
  • 組件
    +關(guān)注

    關(guān)注

    1

    文章

    503

    瀏覽量

    17786
  • MQTT
    +關(guān)注

    關(guān)注

    5

    文章

    647

    瀏覽量

    22392
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    MQTT協(xié)議網(wǎng)關(guān)的工作原理及功能特性

    在物聯(lián)網(wǎng)的快速發(fā)展中,MQTT協(xié)議網(wǎng)關(guān)作為連接物聯(lián)網(wǎng)設(shè)備與消息代理服務(wù)器的重要橋梁,扮演著不可或缺的角色。MQTT是一種基于發(fā)布/訂閱模式的輕量級(jí)通信協(xié)議,特別適用于低帶寬、不穩(wěn)定網(wǎng)絡(luò)環(huán)境下
    的頭像 發(fā)表于 09-18 17:00 ?342次閱讀
    <b class='flag-5'>MQTT</b>協(xié)議網(wǎng)關(guān)的工作原理及功能特性

    MQTT網(wǎng)關(guān):物聯(lián)網(wǎng)中的關(guān)鍵橋梁

    基于發(fā)布/訂閱模式的輕量級(jí)通信協(xié)議,特別適用于低帶寬、不穩(wěn)定網(wǎng)絡(luò)環(huán)境下的數(shù)據(jù)傳輸。MQTT網(wǎng)關(guān)則是連接物聯(lián)網(wǎng)設(shè)備與消息代理服務(wù)器之間的橋梁,通過它,物聯(lián)網(wǎng)設(shè)備能夠高效、可靠地進(jìn)行通信和數(shù)據(jù)交換。 MQTT網(wǎng)關(guān)的定義與功能
    的頭像 發(fā)表于 08-22 14:15 ?314次閱讀
    <b class='flag-5'>MQTT</b>網(wǎng)關(guān):物聯(lián)網(wǎng)中的關(guān)鍵橋梁

    IG902如何連接公有MQTT測(cè)試平臺(tái)?

    1.訪問EMQ 平臺(tái)的MQTT測(cè)試信息頁面 網(wǎng)址:https://www.emqx.io/cn/mqtt/public-mqtt5-broker 2.訪問IG902的web管理界面,進(jìn)入“邊緣
    發(fā)表于 07-25 08:06

    來了解一下MQTT Broker代理

    MQTT BrokerMQTT(Message Queuing Telemetry Transport)協(xié)議中的核心組件,它是一種輕量級(jí)的、發(fā)布/訂閱模式的消息傳輸協(xié)議,廣泛應(yīng)用于物聯(lián)網(wǎng)(IoT
    的頭像 發(fā)表于 07-15 17:03 ?333次閱讀
    來了解一下<b class='flag-5'>MQTT</b> <b class='flag-5'>Broker</b><b class='flag-5'>代理</b>

    PSoC6上的Wi-fi_mqtt_Client出現(xiàn)MQTT連接錯(cuò)誤的原因?

    我在使用 PSoC6 板上的 Wi-Fi_MQTT_Client 示例時(shí)遇到了一個(gè)問題。 Wi-Fi 連接成功了,但在嘗試連接 MQTT 代理(test.mositto.org)時(shí)卻出現(xiàn)了以下錯(cuò)誤
    發(fā)表于 07-04 07:25

    科普EEPROM 科普 EVASH Ultra EEPROM?科普存儲(chǔ)芯片

    科普EEPROM 科普 EVASH Ultra EEPROM?科普存儲(chǔ)芯片
    的頭像 發(fā)表于 06-25 17:14 ?475次閱讀

    通過物聯(lián)網(wǎng)管理多臺(tái)MQTT設(shè)備-基于全志T527開發(fā)板

    列表,記錄設(shè)備的基本信息和狀態(tài)。 數(shù)據(jù)存儲(chǔ):使用內(nèi)存或數(shù)據(jù)庫存儲(chǔ)設(shè)備數(shù)據(jù),確保數(shù)據(jù)持久化。 三、組件設(shè)計(jì) MQTT組件: 負(fù)責(zé)與MQTT broker建立連接。 訂閱設(shè)備主題,接收設(shè)備發(fā)送的消息。 發(fā)布
    發(fā)表于 06-21 14:20

    EMQ Broker使用十六進(jìn)制數(shù)組發(fā)送數(shù)據(jù)時(shí),使用Unicode編碼遇到的問題求解

    MQTT代理使用的是 EMQ X Broker 現(xiàn)象: 發(fā)送 0x80 ;接收到的數(shù)據(jù)卻是(0xC2 0x80); 問題: 如何實(shí)現(xiàn) 發(fā)送0x80 ,接收的也是 0x80
    發(fā)表于 06-21 06:45

    米爾-全志T527開發(fā)板評(píng)測(cè)試用-通過物聯(lián)網(wǎng)管理多臺(tái)MQTT設(shè)備 摘自:優(yōu)秀試用者JerryZhen

    ,記錄設(shè)備的基本信息和狀態(tài)。 數(shù)據(jù)存儲(chǔ):使用內(nèi)存或數(shù)據(jù)庫存儲(chǔ)設(shè)備數(shù)據(jù),確保數(shù)據(jù)持久化。 三、組件設(shè)計(jì) 1.MQTT組件: 負(fù)責(zé)與MQTT broker建立連接。 訂閱設(shè)備主題,接收設(shè)備發(fā)送
    發(fā)表于 06-11 15:47

    通過MQTT網(wǎng)關(guān)快速對(duì)接工業(yè)物聯(lián)網(wǎng)云平臺(tái)

    設(shè)備僅訂閱感興趣的主題,而消息代理Broker)則負(fù)責(zé)將來自發(fā)布者的消息轉(zhuǎn)發(fā)給所有訂閱該主題的客戶端,實(shí)現(xiàn)了信息的精準(zhǔn)推送。此外,MQTT支持QoS(Quality of Service)等級(jí),確保了消息傳輸?shù)目煽啃院挽`活性,
    的頭像 發(fā)表于 05-20 15:40 ?430次閱讀
    通過<b class='flag-5'>MQTT</b>網(wǎng)關(guān)快速對(duì)接工業(yè)物聯(lián)網(wǎng)云平臺(tái)

    MQTT和Modbus的物聯(lián)網(wǎng)網(wǎng)關(guān)協(xié)議的區(qū)別分析

    獨(dú)特的優(yōu)勢(shì)和適用場(chǎng)景,下面將從多個(gè)維度對(duì)這兩種網(wǎng)關(guān)協(xié)議進(jìn)行詳細(xì)區(qū)別分析。 首先,從協(xié)議的設(shè)計(jì)理念和定位來看,MQTT協(xié)議是一種基于發(fā)布/訂閱模型的輕量級(jí)消息傳輸協(xié)議,尤其適合于資源受限的設(shè)備間進(jìn)行數(shù)據(jù)交換。MQTT協(xié)議通過broker
    的頭像 發(fā)表于 03-18 16:50 ?728次閱讀
    <b class='flag-5'>MQTT</b>和Modbus的物聯(lián)網(wǎng)網(wǎng)關(guān)協(xié)議的區(qū)別分析

    PSoC6上的Wi-fi_mqtt_Client出現(xiàn)MQTT連接錯(cuò)誤怎么解決?

    client.key, client.crt, 以及其他必需的配置。 Wi-Fi 連接成功,但在嘗試 MULTICH_CONNECT_PCB MQTT 代理 (test.mosquitto.org) 時(shí), 我遇到以下
    發(fā)表于 03-04 06:37

    ADXL362連接EVAL-ADICUP3029加速度計(jì)wifi示例,wifi輸出的數(shù)據(jù)是亂碼怎么解決?

    debug 就可以了。 另一項(xiàng)就是跟著示例調(diào)試 本地MQTT broker (已完成). 之后 用軟件 MQTTfx 連接同樣的 Broker Address 和 broker por
    發(fā)表于 12-28 07:31

    MQTT和Modbus的物聯(lián)網(wǎng)網(wǎng)關(guān)協(xié)議區(qū)別分析

    MQTT 是一個(gè)開放的輕量級(jí)機(jī)器對(duì)機(jī)器協(xié)議,專為物聯(lián)網(wǎng)交互設(shè)計(jì)。MQTT 網(wǎng)絡(luò)包含一個(gè) MQTT 經(jīng)紀(jì)人 (broker),負(fù)責(zé)協(xié)調(diào) MQTT
    發(fā)表于 11-27 10:58 ?859次閱讀
    <b class='flag-5'>MQTT</b>和Modbus的物聯(lián)網(wǎng)網(wǎng)關(guān)協(xié)議區(qū)別分析

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

    MQTT協(xié)議已經(jīng)成了物聯(lián)網(wǎng)通信中的一個(gè)熱詞,今天我們一起來學(xué)習(xí)一下關(guān)于MQTT協(xié)議的一些知識(shí)。
    的頭像 發(fā)表于 11-25 14:09 ?1257次閱讀