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服务 受限设备
相关推荐
桧***攮14 小时前
C在物联网协议中的实现
物联网
daidaidaiyu15 小时前
Jetlinks 物联网平台 开源版学习源码分析
java·mqtt·rxjava·tcp
沐欣工作室_lvyiyi1 天前
家用按摩椅控制系统设计(论文+源码)
单片机·物联网·毕业设计·按摩椅控制系统
乘凉~1 天前
MQTT(一):什么是MQTT?MQTT在物联网通信中的位置
物联网
亿坊电商1 天前
24H-无人共享KTV:如何实现安全的自助服务?
大数据·物联网·安全
沫儿笙2 天前
安川机器人tag焊接怎么节省保护气
人工智能·物联网·机器人
熊文豪2 天前
工业物联网时序数据库选型指南:Apache IoTDB 的技术优势与应用实践
物联网·apache·时序数据库·iotdb
杭州泽沃电子科技有限公司2 天前
在线监测:为医药精细化工奠定安全、合规与质量基石
运维·人工智能·物联网·安全·智能监测
q***d1732 天前
C在物联网中的Azure IoT Solution Accelerators
物联网·microsoft·azure
1***s6322 天前
C在物联网中的Azure IoT Hub
物联网·microsoft·azure