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服务 受限设备
相关推荐
得单片机的运18 小时前
STM32的以太网的搭建
stm32·单片机·嵌入式硬件·物联网·以太网·iot·w5500
文火冰糖的硅基工坊1 天前
[嵌入式系统-108]:定昌电子DC-A588电路板介绍,一款基于瑞芯微RK3588芯片的高性能嵌入式AI边缘计算工控主机
人工智能·物联网·边缘计算
2401_885405511 天前
定位守护童年,科技构筑安全屏障
科技·物联网·安全·小程序·宠物·web app·智能手表
openHiTLS密码开源社区1 天前
【密码学实战】openHiTLS s_server命令行:搭建国密标准安全通信服务器
服务器·物联网·密码学·openhitls·tlcp·商用密码算法·dtlcp
搞科研的小刘选手1 天前
【大会邀请】2025年AI驱动下:业务转型和数据科学创新国际学术会议(ICBTDS 2025)
人工智能·物联网·大模型·智慧城市·数据科学·ai驱动·计算科学
b***25111 天前
赋能高效电池制造:圆柱电芯组合式双面自动点焊技术
物联网·自动化
Net_Walke2 天前
【Linux系统】文件IO
linux·物联网·iot
riveting2 天前
48 元四核 ARM 核心板!明远智睿 2351 进入嵌入式市场
物联网·智能家居·嵌入式开发·明远智睿·2351核心板
wh_xia_jun2 天前
Python串口通信与MQTT物联网网关:连接STM32与物联网平台
python·stm32·物联网