中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MQTT服務器知識點有哪些

發布時間:2021-12-07 09:30:57 來源:億速云 閱讀:171 作者:iii 欄目:互聯網科技

這篇文章主要介紹“MQTT服務器知識點有哪些”,在日常操作中,相信很多人在MQTT服務器知識點有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”MQTT服務器知識點有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

MQTT 發布訂閱模式簡述

MQTT 是基于 發布(Publish)/訂閱(Subscribe) 模式來進行通信及數據交換的,與 HTTP 的 請求(Request)/應答(Response) 的模式有本質的不同。

訂閱者(Subscriber) 會向 消息服務器(Broker) 訂閱一個 主題(Topic) 。成功訂閱后,消息服務器會將該主題下的消息轉發給所有的訂閱者。

主題(Topic)以 ‘/’ 為分隔符區分不同的層級。包含通配符 ‘+’ 或 ‘#’ 的主題又稱為 主題過濾器(Topic Filters),不含通配符的稱為 主題名(Topic Names) 。例如:

sensor/1/temperature

sensor/1/#

sensor/+/temperature

MQTT Broker 簡介

MQTT Broker 定義及其作用

MQTT Broker 也稱為 MQTT 消息服務器,它可以是運行了 MQTT 消息服務器軟件的一臺服務器或一個服務器集群。MQTT Broker 負責接收來自客戶端的網絡連接,并處理客戶端的訂閱/取消訂閱(Subscribe/Unsubscribe)、消息發布(Publish)請求,同時也會將客戶端發布的消息轉發給其他訂閱者。

MQTT Broker 廣泛應用于:電力、新能源、智慧城市、智能家居、智能抄表、車聯網、金融與支付、運營商等行業。

MQTT服務器知識點有哪些

常見開源 MQTT Broker
  • EMQ X - EMQ X 基于 Erlang/OTP 平臺開發,是開源社區中最流行的 MQTT 消息服務器。除了 MQTT 協議之外,EMQ X 還支持 MQTT-SN、CoAP、LwM2M、STOMP 等協議。目前,EMQ X 在全球市場已有 5000+ 企業用戶,20+ 世界五百強合作伙伴。

  • Eclipse Mosquitto - Mosquitto 是開源時間較早的 MQTT Broker,它包含了一個C/C ++的客戶端庫,以及用于發布和訂閱的 mosquitto_pubmosquitto_sub 命令行客戶端。Mosquitto 比較輕量,適合在從低功耗單板計算機到完整服務器的所有設備上使用。

  • VerneMQ - VerneMQ 基于 Erlang/OTP 平臺開發,是高性能的分布式 MQTT 消息代理。它可以在硬件上水平和垂直擴展,以支持大量并發客戶端,同時保持較低的延遲和容錯能力。

  • HiveMQ CE - HiveMQ CE 是基于 Java 的開源 MQTT 消息服務器,它完全支持 MQTT 3.x 和 MQTT 5,是 HiveMQ 企業版消息連接平臺的基礎。

MQTT Broker 實現的主要功能

協議接入
  • 完整的 MQTT V3.1/V3.1.1 及 V5.0 協議規范支持;

  • MQTT-SN 、CoAP、lwM2M 等物聯網協議接入支持。

集群部署

多服務器節點集群,且支持節點的自動發現。相對于單服務器,集群能通過多臺服務器之間的協作帶來以下優勢:

  • 高可用性。單臺或少量的服務器故障并不會導致整個消息服務中斷,其余的正常工作的節點可以繼續提供服務;

  • 負載均衡。通過負載均衡機制,集群可以把負載平均的分布在各個節點;

  • 更高的整體性能。相比單機部署,多節點的集群能夠成倍的提升整個系統的連接和消息處理能力;

  • 可擴展性。可以通過在集群中添加新節點的方式來完成擴容而無需停機。

接入安全
  • SSL、WSS 加密連接,及單/雙向安全認證支持;

  • 客戶端 ID、IP 地址、用戶名密碼、LDAP 及瀏覽器 Cookie 認證支持;

  • 基于客戶端 ID、IP 地址、用戶名的訪問控制(ACL);

  • 消息速率、連接速率限制。

數據持久化

數據持久化的主要使用場景包括將客戶端上下線狀態,訂閱主題信息,消息內容,消息抵達后發送消息回執等操作記錄到 RedisMySQL、PostgreSQL、MongoDB、Cassandra 等各種數據庫中。

其他功能
  • HTTP 消息發布接口支持,使上層應用能更方便的通過 REST API 給設備發送消息;

  • MQTT Broker 橋接,支持不同 MQTT Broker 或不同集群之間的消息橋接。橋接可以很方便的將消息橋接到云服務、流式服務、或其他 MQTT 消息服務器。橋接可以完成一些單純使用集群無法實現的功能:跨 VPC 部署、支持異構節點、提高單個應用的服務上限;

  • 支持共享訂閱。共享訂閱是一種機制,允許將訂閱組的消息分發均勻地分發給訂閱組成員。在共享訂閱中,訂閱同一主題的客戶機依次接收此主題下的消息。同一消息不會發送給多個訂閱客戶端,從而實現多個訂閱客戶端之間的負載均衡;

  • 規則引擎支持,用于配置消息流與設備事件的處理、響應規則。規則描述了數據從哪里來如何篩選并處理數據處理結果到哪里去三個配置,即一條可用的規則包含三個要素:觸發事件(滿足某個條件時觸發)、處理規則(從上下文信息中過濾和處理數據)、響應動作(如持久化到數據庫、重新發布處理后的消息、轉發消息到消息隊列等)。

MQTT Broker 的使用

為了方便測試,我們使用 EMQ 提供的線上版 Broker,該 Broker 版本包含了 EMQ X Enterprise 的所有功能。

Broker 地址: broker.emqx.io

Broker 端口: 1883、8883(SSL)、8083(Websocket)、8084(WSS)

連接客戶端我們使用 EMQ 提供的線上版 Websocket 工具:http://tools.emqx.io。

MQTT Broker 的連接

使用瀏覽器打開地址 http://tools.emqx.io,點擊左下角的 New Connection 按鈕,并在右側框里填寫鏈接信息,填寫好必填字段后點擊 Connect 按鈕創建鏈接并連接至 Broker。

MQTT服務器知識點有哪些

消息發布

連接成功后,點擊右下角的 Write a message 彈出消息發布框,填寫好 TopicPayload 后點擊發送圖標即可發布消息。

MQTT服務器知識點有哪些

主題訂閱
  • 訂閱普通主題

    在中間的 Subscriptions 模塊里,訂閱 hello 主題。此時給 hello 主題發送消息的話,消息列表里會收到該消息(左側為接收到的消息)。

MQTT服務器知識點有哪些

  • 訂閱通配符主題

    訂閱通配符主題 testtopic/#,并給 testtopic/1 主題發送消息,此時消息列表里會接收到該消息。

MQTT服務器知識點有哪些

到此,關于“MQTT服務器知識點有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

汉源县| 湟源县| 湾仔区| 中牟县| 山东省| 灵宝市| 古丈县| 青浦区| 嵩明县| 呼玛县| 三原县| 潞城市| 鸡泽县| 电白县| 温州市| 九江市| 兴海县| 海安县| 淮北市| 鄂州市| 化州市| 海阳市| 商河县| 上杭县| 建德市| 翼城县| 丰台区| 托里县| 韩城市| 汶上县| 叶城县| 西昌市| 义马市| 塘沽区| 遵义县| 苍山县| 宁河县| 孝感市| 曲麻莱县| 丽水市| 桐梓县|