這篇文章主要介紹“MQTT服務(wù)器知識(shí)點(diǎn)有哪些”,在日常操作中,相信很多人在MQTT服務(wù)器知識(shí)點(diǎn)有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”MQTT服務(wù)器知識(shí)點(diǎn)有哪些”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!
創(chuàng)新互聯(lián)自2013年創(chuàng)立以來,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站制作、成都網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元西和做網(wǎng)站,已為上家服務(wù),為西和各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220
MQTT 是基于 發(fā)布(Publish)/訂閱(Subscribe)模式來進(jìn)行通信及數(shù)據(jù)交換的,與 HTTP 的 請(qǐng)求(Request)/應(yīng)答(Response)的模式有本質(zhì)的不同。
訂閱者(Subscriber)會(huì)向 消息服務(wù)器(Broker)訂閱一個(gè) 主題(Topic)。成功訂閱后,消息服務(wù)器會(huì)將該主題下的消息轉(zhuǎn)發(fā)給所有的訂閱者。
主題(Topic)以 ‘/’ 為分隔符區(qū)分不同的層級(jí)。包含通配符 ‘+’ 或 ‘#’ 的主題又稱為 主題過濾器(Topic Filters),不含通配符的稱為 主題名(Topic Names)。例如:
sensor/1/temperature sensor/1/# sensor/+/temperature
MQTT Broker 也稱為 MQTT 消息服務(wù)器,它可以是運(yùn)行了 MQTT 消息服務(wù)器軟件的一臺(tái)服務(wù)器或一個(gè)服務(wù)器集群。MQTT Broker 負(fù)責(zé)接收來自客戶端的網(wǎng)絡(luò)連接,并處理客戶端的訂閱/取消訂閱(Subscribe/Unsubscribe)、消息發(fā)布(Publish)請(qǐng)求,同時(shí)也會(huì)將客戶端發(fā)布的消息轉(zhuǎn)發(fā)給其他訂閱者。
MQTT Broker 廣泛應(yīng)用于:電力、新能源、智慧城市、智能家居、智能抄表、車聯(lián)網(wǎng)、金融與支付、運(yùn)營(yíng)商等行業(yè)。
EMQ X - EMQ X 基于 Erlang/OTP 平臺(tái)開發(fā),是開源社區(qū)中最流行的 MQTT 消息服務(wù)器。除了 MQTT 協(xié)議之外,EMQ X 還支持 MQTT-SN、CoAP、LwM2M、STOMP 等協(xié)議。目前,EMQ X 在全球市場(chǎng)已有 5000+ 企業(yè)用戶,20+ 世界五百?gòu)?qiáng)合作伙伴。
Eclipse Mosquitto - Mosquitto 是開源時(shí)間較早的 MQTT Broker,它包含了一個(gè)C/C ++的客戶端庫(kù),以及用于發(fā)布和訂閱的 mosquitto_pub
、mosquitto_sub
命令行客戶端。Mosquitto 比較輕量,適合在從低功耗單板計(jì)算機(jī)到完整服務(wù)器的所有設(shè)備上使用。
VerneMQ - VerneMQ 基于 Erlang/OTP 平臺(tái)開發(fā),是高性能的分布式 MQTT 消息代理。它可以在硬件上水平和垂直擴(kuò)展,以支持大量并發(fā)客戶端,同時(shí)保持較低的延遲和容錯(cuò)能力。
HiveMQ CE - HiveMQ CE 是基于 Java 的開源 MQTT 消息服務(wù)器,它完全支持 MQTT 3.x 和 MQTT 5,是 HiveMQ 企業(yè)版消息連接平臺(tái)的基礎(chǔ)。
完整的 MQTT V3.1/V3.1.1 及 V5.0 協(xié)議規(guī)范支持;
MQTT-SN 、CoAP、lwM2M 等物聯(lián)網(wǎng)協(xié)議接入支持。
多服務(wù)器節(jié)點(diǎn)集群,且支持節(jié)點(diǎn)的自動(dòng)發(fā)現(xiàn)。相對(duì)于單服務(wù)器,集群能通過多臺(tái)服務(wù)器之間的協(xié)作帶來以下優(yōu)勢(shì):
高可用性。單臺(tái)或少量的服務(wù)器故障并不會(huì)導(dǎo)致整個(gè)消息服務(wù)中斷,其余的正常工作的節(jié)點(diǎn)可以繼續(xù)提供服務(wù);
負(fù)載均衡。通過負(fù)載均衡機(jī)制,集群可以把負(fù)載平均的分布在各個(gè)節(jié)點(diǎn);
更高的整體性能。相比單機(jī)部署,多節(jié)點(diǎn)的集群能夠成倍的提升整個(gè)系統(tǒng)的連接和消息處理能力;
可擴(kuò)展性。可以通過在集群中添加新節(jié)點(diǎn)的方式來完成擴(kuò)容而無需停機(jī)。
SSL、WSS 加密連接,及單/雙向安全認(rèn)證支持;
客戶端 ID、IP 地址、用戶名密碼、LDAP 及瀏覽器 Cookie 認(rèn)證支持;
基于客戶端 ID、IP 地址、用戶名的訪問控制(ACL);
消息速率、連接速率限制。
數(shù)據(jù)持久化的主要使用場(chǎng)景包括將客戶端上下線狀態(tài),訂閱主題信息,消息內(nèi)容,消息抵達(dá)后發(fā)送消息回執(zhí)等操作記錄到 redis、MySQL、PostgreSQL、MongoDB、Cassandra 等各種數(shù)據(jù)庫(kù)中。
HTTP 消息發(fā)布接口支持,使上層應(yīng)用能更方便的通過 REST API 給設(shè)備發(fā)送消息;
MQTT Broker 橋接,支持不同 MQTT Broker 或不同集群之間的消息橋接。橋接可以很方便的將消息橋接到云服務(wù)、流式服務(wù)、或其他 MQTT 消息服務(wù)器。橋接可以完成一些單純使用集群無法實(shí)現(xiàn)的功能:跨 VPC 部署、支持異構(gòu)節(jié)點(diǎn)、提高單個(gè)應(yīng)用的服務(wù)上限;
支持共享訂閱。共享訂閱是一種機(jī)制,允許將訂閱組的消息分發(fā)均勻地分發(fā)給訂閱組成員。在共享訂閱中,訂閱同一主題的客戶機(jī)依次接收此主題下的消息。同一消息不會(huì)發(fā)送給多個(gè)訂閱客戶端,從而實(shí)現(xiàn)多個(gè)訂閱客戶端之間的負(fù)載均衡;
規(guī)則引擎支持,用于配置消息流與設(shè)備事件的處理、響應(yīng)規(guī)則。規(guī)則描述了數(shù)據(jù)從哪里來、如何篩選并處理數(shù)據(jù)、處理結(jié)果到哪里去三個(gè)配置,即一條可用的規(guī)則包含三個(gè)要素:觸發(fā)事件(滿足某個(gè)條件時(shí)觸發(fā))、處理規(guī)則(從上下文信息中過濾和處理數(shù)據(jù))、響應(yīng)動(dòng)作(如持久化到數(shù)據(jù)庫(kù)、重新發(fā)布處理后的消息、轉(zhuǎn)發(fā)消息到消息隊(duì)列等)。
為了方便測(cè)試,我們使用 EMQ 提供的線上版 Broker,該 Broker 版本包含了 EMQ X Enterprise 的所有功能。
Broker 地址: broker.emqx.io
Broker 端口: 1883、8883(SSL)、8083(Websocket)、8084(WSS)
連接客戶端我們使用 EMQ 提供的線上版 Websocket 工具:http://tools.emqx.io。
使用瀏覽器打開地址 http://tools.emqx.io,點(diǎn)擊左下角的 New Connection按鈕,并在右側(cè)框里填寫鏈接信息,填寫好必填字段后點(diǎn)擊 Connect按鈕創(chuàng)建鏈接并連接至 Broker。
連接成功后,點(diǎn)擊右下角的 Write a message彈出消息發(fā)布框,填寫好 Topic及 Payload后點(diǎn)擊發(fā)送圖標(biāo)即可發(fā)布消息。
訂閱普通主題
在中間的 Subscriptions模塊里,訂閱 hello主題。此時(shí)給 hello主題發(fā)送消息的話,消息列表里會(huì)收到該消息(左側(cè)為接收到的消息)。
訂閱通配符主題
訂閱通配符主題 testtopic/#,并給 testtopic/1主題發(fā)送消息,此時(shí)消息列表里會(huì)接收到該消息。
到此,關(guān)于“MQTT服務(wù)器知識(shí)點(diǎn)有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!