2023 年 MQTT 协议的 7 个技术趋势|描绘物联网的未来

news2024/11/25 22:55:22

在这里插入图片描述

MQTT 是物联网消息传输标准协议,其采用极其轻量级的发布订阅消息模型,以可扩展、可靠且高效的方式连接物联网设备。

自 1999 年 IBM 发布 MQTT 以来已经过去了二十多年,而自 2012 年 EMQ 在 GitHub 上发布开源 MQTT 消息服务器 EMQX,也已经过去了十年。如今,我们来到了各类新兴技术飞速进步的 2023 年,随着 MQTT 在物联网中的使用规模不断增长,场景更加多样化,我们可以预见在 MQTT 技术领域中将会出现以下 7 个发展趋势。

MQTT over QUIC

QUIC(Quick UDP Internet Connections)是由 Google 开发的一种新的传输协议,运行于 UDP 之上,旨在减少建立新连接所带来的延迟,提高数据传输速率,并解决 TCP 的一些限制。

下一代互联网协议 HTTP/3 使用了 QUIC 作为底层传输协议,为网络应用带来了比 HTTP/2 更低的时延和更好的加载体验。

MQTT over QUIC 是自 2017 年 MQTT 5.0 规范发布以来 MQTT 协议中最具创新性的进展。凭借多路复用、更快的连接建立和迁移等优势特性,其具有成为下一代 MQTT 协议标准的潜力。

MQTT 5.0 定义了三种传输类型:TCP、TLS 和 WebSocket。在物联网安全最佳实践中,MQTT over TLS/SSL 广泛用于生产环境以保护客户端和 Broker 之间的通信。然而它速度慢、延迟高,需要 3.5 个 RTT,即 TCP 3 次握手以及 TLS 4 次握手才能建立新的 MQTT 连接。

与 MQTT over TLS/SSL 相比,MQTT over QUIC 更快且延迟更低,在初次建立连接时仅需 1 RTT,并可以利用 0 RTT 连接恢复的特性来加速重连。QUIC 协议栈可以针对各种用例进行定制,例如在不稳定网络环境下,或是客户端到服务器更低延迟通信的场景。它能够在诸如移动网络下的车联网(IoV)以及要求极低时延的工业物联网(IIoT)场景下发挥重要作用,并有效提升其使用体验。

开源 MQTT 消息服务器 EMQX 在其最新的 5.0 版本中引入了 MQTT over QUIC 支持,是全球首个支持 MQTT over QUIC 的 MQTT 消息服务器。目前 EMQ 正以 OASIS MQTT 技术委员会成员身份积极推进 MQTT over QUIC 的标准化落地,可以预见在不久的将来,MQTT 也将和 HTTP/3 一样使用 QUIC 作为其主要传输层。

在这里插入图片描述

MQTT Serverless

云计算中 Serverless 模式的兴起标志着应用的设计、开发、部署和运行方式发生了突破性的范式转变。这种模式下开发者将能够专注于应用的业务逻辑,无需管理基础设施,从而提高敏捷性、可扩展性和成本效益。

Serverless 模式的 MQTT 消息服务器将是 2023 年的一种前沿架构创新。传统的物联网应用需要数分钟甚至数小时才能在云上或在企业私有环境中部署 MQTT 消息服务,相比之下,Serverless MQTT 只需点击几下就能快速完成 MQTT 服务的部署。

除了极快的部署速度,Serverless MQTT 更大的价值在于其无可比拟的灵活性:根据用户需求对资源进行无缝扩展,以及与这种弹性架构相匹配的按量计费定价模式。Serverless MQTT 有望推动 MQTT 更广泛的应用,降低运营成本,激发不同行业的创新协作。我们甚至可能看到每个物联网和工业物联网开发者都能拥有一个免费的 Serverless MQTT 消息服务器。

2023 年 3 月,EMQX Cloud 推出了全球首个 Serverless MQTT 服务,为用户提供了 5 秒极速部署和更灵活的计费方式,帮助用户以更低的成本高效开发物联网应用。

MQTT 多租户架构

多租户架构是实现 Serverless MQTT 服务的一个重要基础。来自不同用户或租户的物联网设备可以连接到同一个大规模的 MQTT 集群,同时保持其数据和业务逻辑与其他租户隔离。

在 SaaS 应用中多租户架构很常见,即一个应用为多个客户或租户服务。其通常有两种以下不同的实现方式:

  • 租户隔离: 向每个租户提供一个单独的应用实例,在服务器或虚拟机上运行。
  • 数据库隔离: 多个租户共享一个应用实例,但每个租户有自己的数据库模式,以确保数据隔离。

在 MQTT Broker 的多租户架构中,每个设备和租户都有一个单独的、隔离的命名空间,包括一个独特的主题前缀和访问控制列表(ACL),用来定义用户可以发布或订阅哪些主题。

多租户 MQTT 消息服务器能够减少管理开销,并灵活支持复杂场景或大规模物联网应用场景。例如,一个大型组织中的部门和应用可以作为不同的租户使用同一个 MQTT 集群。

MQTT Sparkplug 3.0

MQTT Sparkplug 是由 Eclipse 基金会设计的开放标准规范,其最新版本为 MQTT Sparkplug 3.0,它定义了工业设备的统一数据接入规范,能够通过 MQTT 协议连接各类工业传感器、动作执行器、可编程逻辑控制器(PLC)和网关。

MQTT Sparkplug 3.0 于 2022 年 11 月发布,具有以下关键的新功能和改进:

  • MQTT 5.0 支持: 增加了对 MQTT 5.0 的支持,包括共享订阅、消息过期和流量控制等新功能。
  • 优化的数据传输:对数据传输进行了优化,使用更紧凑的数据编码和压缩算法。
  • 扩展的数据模型: 引入了一个扩展的数据模型,它允许更详细的设备信息通信,还支持配置数据和设备元数据等其他信息的传输。
  • 更高的安全性: 包括对安全性的若干改进,如支持双向 TLS 认证、优化的访问控制机制等。
  • 简化的设备管理: 包括自动设备注册和发现,简化设备配置,以及改进诊断等。

MQTT Sparkplug 旨在简化不同工业设备间的连接和通信,实现高效的工业数据采集、处理和分析。随着新版本的发布,MQTT Sparkplug 3.0 将会在工业物联网领域得到更广泛的应用。

MQTT 统一命名空间

统一命名空间(Unified Namespace)是一个建立在面向工业物联网和工业 4.0 的 MQTT Broker 上的解决方案架构。它为 MQTT 主题提供了一个统一的命名空间,并为消息和结构化数据提供了一个集中的存储库。

统一命名空间使用中央 MQTT Broker ,以星形拓扑结构连接工业设备、传感器和应用程序,如 SCADA、MES 和 ERP。统一命名空间以事件驱动的架构极大简化了工业物联网应用的开发。

在传统的工业物联网系统中,OT 和 IT 系统通常是分开的,其数据、协议和工具均独立运行。通过采用统一命名空间,可以让 OT 和 IT 系统更有效地交换数据,最终实现物联网时代 OT 和 IT 的统一。

如今,通过 EMQ 提供的开源 MQTT 消息服务器 EMQX 或 NanoMQ,结合工业协议网关软件 Neuron,用户将可以构建一个由 IT 界最先进技术支持的统一命名空间架构。

MQTT 跨域集群

MQTT 跨域集群(MQTT Geo-Distribution)是一个创新架构,允许部署在不同地区或云上的 MQTT Broker 作为一个单集群一起工作。通过跨域集群,MQTT 消息可以在不同地区的 MQTT Broker 之间自动同步和传输。

有两种方法可以实现 MQTT 跨域集群:

  • 单集群,多地区: 单个 MQTT 集群,每个节点在不同地区运行。
  • 多集群,多云: 分布在不同云中的多个 MQTT 集群连接在一起。

我们可以将这两种方法结合,在跨区域部署的 MQTT Broker 之间创建一个可靠的物联网数据基础设施。通过 MQTT 跨域集群,企业可以建立一个跨多云的全球 MQTT 接入网络。不管所处的物理位置在哪里,设备和应用都能从最近的节点接入实现相互通信。

在这里插入图片描述

MQTT Streams

MQTT Streams 是 MQTT 协议备受期待的一项扩展能力,能够在 MQTT Broker 内实时处理海量、高频的数据流。这在发布订阅模式消息传输的基础上进一步增强了传统 MQTT Broker 的能力。通过 MQTT Streams,客户端可以像 Apache Kafka 一样将 MQTT 消息以流的形式进行生产和消费,从而实现历史消息回放。这对事件驱动的处理尤为重要,可以确保最终的数据一致性、可审计和合规性。

流处理对于从物联网设备产生的大量数据中实时挖掘商业价值至关重要。以前,这一过程通过一个过时且复杂的大数据堆栈实现,需要 MQTT Broker 与 Kafka、Hadoop、Flink 或 Spark 进行集成。

而通过内置的流处理,MQTT Streams 简化了物联网数据处理架构,提高了数据处理效率和响应时间,并为物联网提供了一个统一的消息传递和流处理平台。通过消息去重、消息重放和消息过期等功能,MQTT Streams 实现了高吞吐量、低时延和容错,使其成为基于 MQTT 的物联网应用中实时数据流处理的强大工具。

结语

总的来说,MQTT 的这 7 个技术趋势反映了新兴技术的进步以及它们在推动物联网发展进程中的重要作用。

作为一个发展了二十多年的标准消息传输协议,MQTT 的重要性正在持续增长。随着物联网在各行业被越来越广泛地应用,MQTT 协议也在不断发展以应对新的挑战,满足更低延迟的连接、更便捷的 MQTT 服务部署、复杂场景或大规模物联网应用下灵活管理以及工业设备接入的需求。作为庞大物联网的神经系统,在 2023 年及更远的未来,MQTT 必将在工业物联网和车联网等关键领域中发挥重要作用。

版权声明: 本文为 EMQ 原创,转载请注明出处。

原文链接:https://www.emqx.com/zh/blog/7-mqtt-trends-in-2023

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/424141.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FVM链的Themis Pro,5日ido超百万美元

交易一直是 DeFi 乃至web3领域最经久不衰的话题,也因此催生了众多优秀的去中心化协议,如 Uniswap 和 Curve。这些协议逐渐成为了整个系统的基石。 在永续合约方面,DYDX 的出现将 WEB2 时代的订单簿带回了web3。其链下交易的设计,仿…

USRP简介

USRP定义 USRP为Universal Software Radio Peripheral缩写,即通用软件无线电外设,是由Ettus Research及其母公司National Instruments设计和销售的一系列软件定义无线电。 大多数USRP通过高速链路连接到主机,基于主机的软件用它来控制USRP硬…

一文吃透Http协议

Http 协议 1. 初始 Http Http 协议 , 是应用层最为广泛使用的协议 , Http 就是浏览器和服务器之间的桥梁. Http 是基于 TCP 协议实现的 , 通常我们输入搜索框中的网址 (URL) , 浏览器就会根据这个 URL 构造出一个 Http 请求 , 发送给服务器. 服务器就会返回一个 Http 响应(包…

立体图

[NOIP2008 普及组] 立体图 题目描述 小渊是个聪明的孩子,他经常会给周围的小朋友们讲些自己认为有趣的内容。最近,他准备给小朋友们讲解立体图,请你帮他画出立体图。 小渊有一块面积为 mnm \times nmn 的矩形区域,上面有 mnm \…

网络攻击与防御

1.什么是数据认证,有什么作用,有哪些实现的技术手段? 数字认证证书它是以数字证书为核心的加密技术可以对网络上传输的信息进行加密和解密、数字签名和签名验证,确保网上传递信息的安全性、完整性。 使用了数字证书,即使您发送的…

【Python爬虫项目实战一】获取Chatgpt3.5免费接口文末付代码(过Authorization认证)

目录 🚩前言🍑工具🍉分析流程🧅实战部分🧅🧅模拟登陆🧅🧅模拟提问请求🥒login方法🥒chatgpt方法🌰总结🚩前言 大家好!今天的目标是拿下Openmao的接口,他的接口内容和chatgpt3.5是一样的,它们的免责申明中写道:本站点基于外部API二次开发,仅供学习…

【数据结构学习2】线性表、顺序表、C/C++补充

目录线性表线性表的定义和特点线性表类型定义线性表的存储结构顺序存储结构顺序表基本操作的实现顺序表的查找算法分析:平均查找长度ASL(Average Search Length)顺序表的插入顺序表的删除补充 C/CC中的参数传递引用类型做形参的三点说明线性表 线性表的定义和特点 …

无需公网IP,远程连接SQL Server数据库【内网穿透】

文章目录1.前言2.本地安装和设置SQL Server2.1 SQL Server下载2.2 SQL Server本地连接测试2.3 Cpolar内网穿透的下载和安装2.3 Cpolar内网穿透的注册3.本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置4.公网访问测试5.结语1.前言 数据库的重要性相信大家都有所了解&#xf…

gpt4人工智能怎么下载-chatgpt哪里下载

GPTChat是一种使用基于深度学习的自然语言处理模型(GPT)实现的智能对话系统。 GPT模型是一种Transformer模型,由OpenAI实现,可用于生成各种类型的文本,包括对话文本。 GPTChat通过对话实现用户与机器之间的交互。用户…

什么是美股市场?主要的美股交易市场有哪些?

美股市场就是交易股票的场所。美股交易市场不同,也影响着投资者在交易美股时的计划和安排。主要的美股交易市场包含哪些? 美股交易市场一、NYSE NYSE又称纽约证券交易所,是上市公司总市值第一(2009年数据)&#xff0c…

榜单!智能车控进入「新周期」,BCM份额TOP10供应商都有谁

作为控制车身不同功能及信号通信中转的ECU模块,从广义范畴来说,BCM(Body Control Module)实际上也是整车最早开始进入「域」整合的部件之一。比如,车身控制多功能的集成(1.0)、BCM网关&#xff…

Maven + Nexus 私有仓库搭建 + 项目推送 + 其他项目拉取(简记)

序 2022年是比较忙碌的一年,耽误了很多博客积累,这一年开始看的比写得多。后面也发现像原来一样的去写下来的成本太高。后面开始只做一些简记。即减少书写成本,也能巩固知识,提炼精华。 一 、Nexus下载 下载地址: N…

Dubbo知识【高级特性】

目录 1:Dubbo高级特性 1.1:超时与重试 什么是超时? 什么是重试? 如何配置超时与重试: 1.2:启动检查 1.3:多版本 1.4:负载均衡 1.5:序列化 1.6:地址…

夜深敲代码——记录一个优化过程

前言 最近一段时间OpenAI的热度一直不减,ChatGpt带来的极大便利性大家也是深有体会。荔枝也跟风搞了一个来玩玩,感觉还是很不错的哈哈哈哈。这不,最近开始刷题用ChatGpt帮忙找bug就很舒服,它甚至可以为我们提供优化的思路&#xf…

git使用手册——简单实用

常见命令 创建仓库 git init初始化仓库git clone拷贝一份远程仓库,也就是下载一个项目。提交与修改 git add添加文件到仓库git status查看仓库当前的状态,显示有变更的文件。git diff比较文件的不同,即暂存区和工作区的差异。git commit提…

RGB与YUV

什么是YUV YUV也叫YCbCr模型,是相对于RGB模型的一种广泛使用的颜色表示模型,YUV格式是1938年由一个法国通信工程师M. Georges Valensi发明的。 YUV中的Y表示亮度luminance,UV表示色度chrominance; 我们知道人眼是个复杂的器官&a…

vue2.x 学习笔记

div标签(HTML) div标签的作用是,设定字、画、表格等的摆放位置。 DIV元素,是用来为HTML文档内大块(block-level)的内容提供结构和背景的元素。 DIV标签,称为区隔标记。 什么是vue vue是响应式…

天猫商品详情数据接口,京东商品详情数据接口,品牌商品数据分析,品牌店铺商品数据分析,监控商品价格销量接口代码封装教程

最近做一个品牌电商公司内部ERP系统分发的采集淘宝、天猫、京东商品详情页API接口的投标工作,集成的接口,其中有一个需求就是监控品牌授权店铺的价格、销量,标题、主图等等,具体需求如下描述:所有授权店铺的公开数据都…

04、SpringBoot运维实用篇

一、配置文件1、临时属性设置目前我们的程序包打好了,可以发布了。但是程序包打好以后,里面的配置都已经是固定的了,比如配置了服务器的端口是8080。如果我要启动项目,发现当前我的服务器上已经有应用启动起来并且占用了8080端口&…

浅谈工厂模式

文章目录01 | 抽象工厂02 | 工厂方法03 | 未完待续创建模式在什么被创建,谁创建它,它是怎么被创建的,以及何时创建这些方面提供了很强的灵活性。通常创建模式允许用结构和功能差别很大的“产品”对象来配置一个系统 01 | 抽象工厂 抽象工厂模…