MQTT物联网消息队列的概念介绍以及broker选型对比

MQTT消息队列简介

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是一种基于发布/订阅模式的轻量级消息协议,专门为低带宽、高延迟或不稳定的网络环境设计。

核心思想:​​发布/订阅模式​​,实现消息的异步、解耦传输

1.1、协议特点

​​轻量级​​:协议头最小只有2字节

​​基于TCP/IP​​:保证数据可靠传输

​​ 双向通信​​:客户端可同时作为发布者和订阅者

​​ 支持多种QoS等级​​:满足不同可靠性需求

​​ 遗嘱消息​​:处理客户端异常断开情况

MQTT 核心架构与组件

2.1、架构组成

publisher -------------------- Broker ------------------- Subscriber

publisher publish broker

broker subscribe Subscriber

2.2、核心组件解析:

Broker(代理服务器):消息中转站,负责接收、过滤、路由消息

功能:

客户端认证和授权、主题管理和消息路由、会话持久化、QoS 级别实现

Client(客户端):

发布者​​:发送消息到特定主题

订阅者​​:订阅感兴趣的主题,接收消息

可同时担任两种角色​

Topic(主题)

格式​​:分层结构的字符串,用/分隔,示例:vehicle/123/gps/location

主题通配符:

通配符 含义 示例 匹配主题
+ 单级匹配 home/+/temperature home/living-room/temperature
# 多级匹配 factory/# factory/line1/robot1/speed

MQTT协议详解

3.1、连接建立过程

复制代码
CONNECT​​:客户端发起连接请求
CONNACK​​:Broker 确认连接
认证机制​​:支持用户名/密码、客户端证书等

3.2、消息控制流转

复制代码
# 典型的消息流程
client.connect()                    # 建立连接
client.subscribe("sensors/temp")    # 订阅主题
client.publish("sensors/temp", "25") # 发布消息

3.3、服务质量(QoS)级别

Qos 名称 传输保证 消息重复 性能 应用场景
0 最多一次 可能丢失 消息重复 性能 应用场景
1 至少一次 不丢失 可能重复 中等 控制指令、状态更新
2 恰好一次 不丢失 不重复 最低 支付交易、关键配置

3.4、特殊消息类型

复制代码
**1)、保留消息(Retained Message)**
	Broker 为每个主题保存最新的消息
	新订阅者立即收到最后一条保留消息
​​	用途​​:设备状态同步、初始化数据
**2)、遗嘱消息(Last Will and Testament)**
	客户端异常断开时,Broker 自动发布预设消息
	用途​​:设备离线通知、状态清理

主流 MQTT Broker 对比

Broker 类型 集群支持 性能 管理界面 学习曲线 推荐场景
Mosquitto 开源 需要三方 中等 基础 简单 开发测试、小规模部署
EMQX 开源 原生支持 极高 丰富 中等 生产环境、大规模集群
HiveMQ 商业 企业级 极高 丰富 中等 企业级关键应用
NanoMQ 开源 轻量级 基础 简单 边缘测部署
AWS IoT Core 云服务 自动扩展 极高 集成 简单 云原生架构

与其他协议对比

特性 MQTT AMQP HTTP/HTTPS CoAP
协议类型 消息协议 消息协议 请求/响应 类HTTP
头部开销 2字节起 8字节起 100+字节 4字节
通讯模式 发布/订阅 多种模式 请求/响应 请求/响应
底层传输 TCP TCP TCP UDP
适用场景 IoT、机器人 企业消息 Web服务 受限设备
相关推荐
13631676419侯3 小时前
智慧物流与供应链追踪
人工智能·物联网
Yeats_Liao4 小时前
时序数据库系列(六):物联网监控系统实战
数据库·后端·物联网·时序数据库
Acrelhuang5 小时前
覆盖全场景需求:Acrel-1000 变电站综合自动化系统的技术亮点与应用
大数据·网络·人工智能·笔记·物联网
ml魔力信息6 小时前
一枚指纹,开启工业IoT设备安全与权限分级实践
java·物联网·安全
Acrelhuang10 小时前
筑牢用电防线:Acrel-1000 自动化系统赋能 35kV 园区高效供电-安科瑞黄安南
java·大数据·开发语言·人工智能·物联网
飞睿科技10 小时前
打破智能家居生态壁垒,乐鑫一站式Matter解决方案实现无缝互联
物联网·智能家居
云山工作室11 小时前
基于协同过滤算法的话剧购票系统(论文+源码)
单片机·物联网·毕业设计·课程设计·毕设
Acrelhuang12 小时前
小小电能表,如何撬动家庭能源革命?
java·大数据·开发语言·人工智能·物联网
dephixf13 小时前
工业级部署指南:在西门子IOT2050(Debian 12)上搭建.NET 9.0环境与应用部署
物联网·.netcore·智能制造·边缘网关·西门子·iot 2050
zskj_zhyl1 天前
智慧康养新篇章:七彩喜如何重塑老年生活的温度与尊严
大数据·人工智能·科技·物联网·生活