【進階篇-消息隊列】——MQTT協議如何支持海量的在線IoT設備

目錄

    • 一、什么是IoT
    • 二、MQTT 和其他消息隊列的傳輸協議有什么不同
    • 三、如何選擇 MQTT 產品
    • 四、MQTT 集群如何支持海量在線的 IoT 設備
    • 五、總結

本文來源:極客時間vip課程筆記

一、什么是IoT

  • IoT,也就是物聯網,物聯網這個詞兒,它的含義還不那么直觀,但你看它的英文:IoT,也就是 Internet of Things 的縮寫,Things 這個單詞,我們知道,它在英語里面幾乎可以指代一切。翻譯成中文,我個人覺得,“東西”這個詞兒比較貼切。那物聯網,就可以理解為把所有東西都用互聯網給連接起來。
  • 這里面不僅僅包括像電腦、手機這樣的智能設備,還包括一些已經智能化的傳統設備,比如汽車、冰箱、路邊的攝像頭等等,將來還將包括更多的、各種各樣的物品:比如水杯、衣服、工業用的各種設備和工具等等,也就是所謂的萬物互聯。所以,IoT 它的未來絕對是大有可期的。
  • 那這些物聯網設備,它要實現互相通信,也必須有一套標準的通信協議,MQTT 就是專門為物聯網設備設計的一套標準的消息隊列通信協議。使用 MQTT 協議的 IoT 設備,可以連接到任何支持 MQTT 協議的消息隊列上,進行通信。

二、MQTT 和其他消息隊列的傳輸協議有什么不同

  • 從宏觀上來說,MQTT 和其他消息隊列采用的傳輸協議是差不多的。它采用的也是“發布 - 訂閱”的消息模型。網絡結構上,也是 C/S 架構,IoT 設備是客戶端,Broker 是服務端,客戶端與 Broker 通信進行收發消息。
  • 雖然 MQTT 和普通的消息隊列相比,在消息模型、功能和網絡結構上都是差不多的,但由于他們面對的使用場景是不一樣的,所以,MQTT 和普通的消息隊列相比,還是有很多區別的。我們看一下 MQTT 的使用場景有什么樣的特點?
  • 首先,它的客戶端都是運行在 IoT 設備上。IoT 設備它有什么特點?最大的特點就是便宜,一個水杯才賣幾十塊錢,它上面的智能模塊的成本十塊錢最多了,再貴就賣不出去了。十塊錢的智能設備內存都是按照 KB 來計算的,可能都沒有 CPU,也不一定有操作系統,整個設備就一個 SoC。這樣的設備就需要通信協議不能太復雜&#x

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/87684.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/87684.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/87684.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Chat Model API

聊天模型API為開發人員提供了將人工智能聊天完成功能集成到應用程序中的能力。它利用預訓練的語言模型,如GPT(生成預訓練轉換器),以自然語言對用戶輸入生成類似人類的響應。 API通常通過向人工智能模型發送提示或部分對話來工作&…

【黑群暉】自組硬件/舊電腦nas改造(三)——使用Jellyfin創建家庭影音庫

一、打開套件中心安裝Jellyfin套件 如果找不到Jellyfin套件,需要手動添加三方套件源: 《群暉NAS必學技能:一鍵解鎖三方套件源,PT下載影音播放全搞定!》 二、配置Jellyfin 訪問http://群暉IP:8096 進入Jellyfin初始化界…

泰山派編譯debian報錯 lb config: unrecognized option ‘--debootstrap-options‘

簡介 最近在編譯泰山派 編譯buildroot系統正常,但是編譯debian時總是報錯說lb 找不到一些參數,如下圖所示,應該當前的版本較低 不支持這些參數,我試了很多方法 升級次版本 但是提示的是最新的,最后經過一番搜索 在官方…

跨境證券交易系統合規升級白皮書:全鏈路微秒風控+開源替代,護航7月程序化交易新規落地

1 行業變革:四重驅動力重塑證券交易系統 當前全球證券行業正處于深刻變革期,跨境金融活動面臨前所未有的機遇與挑戰。今日央行開展的1310億元7天期逆回購操作,以及國家外匯管理局向合格境內機構投資者(QDII)新增發放30.8億美元投資額度等政策…

Node.js核心API(fs篇)

前言:在Node.js生態系統中,文件系統操作是后端開發不可或缺的一部分。fs模塊作為Node.js核心API的重要組成部分,提供了與文件系統交互的能力,涵蓋了從基礎的文件讀寫到復雜的目錄操作等功能。現代JavaScript開發中,處理…

HarmonyOS學習2---Stage模型

1、工程目錄結構 1.1、入口 UIAbility 1.2、入口page 1.3、配置文件 1、配置文件 1)應用級配置文件 --- app.json5 2)模塊級配置文件 --- module.json5 3、oh-package.json5 4、資源文件 1)element目錄 2)media目錄 3&#xff09…

【軟件工程】軟件復刻項目的完整流程指南

軟件復刻項目的完整流程指南 第一章、概述 一、前期準備:明確目標與合規性 1. 法律風險評估 版權排查:確認目標軟件的 UI 設計、代碼、商標是否受保護(如界面元素、核心算法是否申請專利)。規避侵權:避免直接復制 …

淺談Python 中的當前工作目錄與腳本目錄

Python 中的 os.path.exists() 和 __file__ 使用陷阱:工作目錄 ≠ 腳本目錄 在使用 os.path.exists() 或 open() 等函數操作文件路徑時,筆者常常忽略一個關鍵概念:當前運行目錄(Current Working Directory, CWD)并不等…

iOS檢測并阻止騷擾電話的方法

檢測并阻止騷擾電話 你可以在 iPhone 上使用“將未知來電者設置為靜音”或第三方 App 來阻止騷擾電話。 打開“將未知來電者設置為靜音” 在 iOS 13 及更高版本中,你可以打開“靜音未知來電”,以免接到陌生人的來電。這一功能可以阻止那些你從未聯系過…

TensorFlow源碼深度閱讀指南

TensorFlow源碼深度閱讀指南 本文基于《TensorFlow內核剖析》附錄A的代碼閱讀方法論,結合實例解析核心源碼閱讀技巧(含關鍵圖示):一、源碼閱讀的四個維度 1. 分層切入策略(圖A-1) #mermaid-svg-ooLMzaWU5ky…

設計模式-責任鏈模式、策略模式

責任鏈模式 Chain of Responsibility(職責鏈)—對象行為型模式定義:使多個對象都有機會處理請求,從而避免了請求的發送者和接受者之間的耦合關系。將這些對象連成一條鏈,并沿著這條鏈傳遞該請求,直到有對象…

泛微e-cology remarkOperate遠程命令執行漏洞

【高危】泛微e-cology remarkOperate遠程命令執行漏洞 漏洞描述 泛微e-cology是泛微公司開發的協同管理應用平臺。 受影響版本中,接口 /api/workflow/reqform/remarkOperate 存在 SQL 注入漏洞,multipart 類型參數 requestid 直接拼接進 SQL 語句&…

Redis常用操作

1:redis常用操作: package com.shunaier.hhhh.biz.utils;import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.shunaier.hhhh.common.enums.SystemErrorEnum; import com.shunaier.hhhh.common.exception.SNEB…

mybatis-plus-01-環境初始化及簡單應用

文章目錄 【README】【1】springboot集成mybatis-plus配置【1.1】目錄結構【相關說明】 【1.2】代碼示例【pom.xml】【application.properties】【MybatisPlusNoteController】【UserAppService】【UserMapper】【UserPO】【建表語句】 【2】演示 【README】 本文代碼參見&…

VR小鼠解剖虛擬仿真:開啟生命科學教育新視野?

VR 小鼠解剖虛擬仿真,是一項將虛擬現實(VR)技術深度融入小鼠解剖學習與研究過程的創新應用,即 VR 小鼠解剖虛擬仿真。其核心原理在于,借助 VR 技術所構建的高度逼真的虛擬環境,突破了傳統小鼠解剖在時間、空間以及實體操作上的諸多…

計算機網絡(網頁顯示過程,TCP三次握手,HTTP1.0,1.1,2.0,3.0,JWT cookie)

前言 最近一直在后端開發的面經🙌,里面涉及到了好多計算機網絡的知識😁,在這里以問題的形式寫一個學習筆記(其中參考了: JavaGuide 和 小林coding 這兩個很好的學習網站😘) 1.當鍵入網址后&am…

Redis 消息的發布和訂閱

Redis 消息的發布和訂閱 1、什么是發布和訂閱 Redis 發布訂閱 (pub/sub) 是一種消息通信模式:發送者 (pub) 發送消息,訂閱者 (sub) 接收消息。 Redis 客戶端可以訂閱任意數量的頻道。 2、Redis的發布和訂閱示意 1、客戶端可以訂閱頻道如下圖 2、當…

python優先隊列使用

heapq 是 Python 的一個內置模塊,提供了堆隊列算法的實現,也稱為優先隊列算法。以下是關于 heapq 模塊的詳細使用說明。 基本概念 堆:一種特殊的二叉樹結構,滿足父節點總是小于或等于其子節點(最小堆)特性…

在 Windows 機器上安裝和配置 RabbitMQ

RabbitMQ 它是一款基于 AMQP(高級消息隊列協議)的流行消息代理。RabbitMQ 適用于 Windows、Linux 和 macOS,易于安裝和使用,并提供一系列強大的消息隊列和路由功能。要在 Windows 計算機上使用 RabbitMQ,您必須先安裝 …

第十五節:第六部分:日志技術:logback的核心配置文件詳解、日志級別

核心配置文件logback.xml 什么是日志級別,為什么要學日志級別