MQTT协议的架构是怎样的?

MQTT协议的架构是怎样的?缩略图
MQTT协议的架构是怎样的?插图

MQTT(Message Queuing Telemetry Transport)是一个客户端-服务器(或发布-订阅)的消息传输协议。以下是它的基本架构和组件:

MQTT协议的架构是怎样的?概述

  1. Broker(服务器):
  • MQTT Broker是中心服务器,负责接收所有发布的消息并将这些消息转发给所有订阅了相应主题的客户端。
  • Broker负责维护客户端的会话信息,包括哪些客户端订阅了哪些主题。
  • 它还负责处理QoS流程和持久化功能(如保留消息和持久化会话)。
  1. Client(客户端):
  • 客户端可以是任何设备,从微型传感器到智能手机、服务器等,只要它们运行了MQTT客户端软件。
  • 客户端可以“发布”消息到一个主题,也可以“订阅”一个或多个主题来接收相关的消息。
  1. 主题(Topics):
  • 主题是一个字符串,允许消息按类别进行组织。
  • 客户端可以发布消息到一个主题,也可以订阅一个主题来接收发布到该主题的消息。
  • 主题的层次结构由斜线(/)来分隔。例如,“home/livingroom/temperature”可能代表家中客厅的温度传感器。
  1. 消息(Messages):
  • 客户端发布的数据。消息可以是任何信息,如文本、二进制数据或JSON对象。
  1. 连接和会话:
  • 当客户端想要与Broker通信时,它首先需要建立一个连接。
  • 在连接时,客户端可以设置“清除会话”标志,决定是否在断开连接后保留会话状态。
  • 客户端也可以设置“遗嘱消息”,这是在客户端异常断开连接时由Broker发送的一个消息。
  1. QoS(Quality of Service):
  • 我们前面已经讨论过,QoS定义了消息传输的质量级别,有三个等级:QoS 0、QoS 1和QoS 2。
  1. 保留消息(Retained Messages):
  • 当消息发布到某个主题时,它可以被设置为“保留消息”。这意味着这个消息会被Broker保存,当有新的客户端订阅这个主题时,它会立即收到该保留消息。
  1. 最后遗嘱(Last Will and Testament,LWT):
  • 客户端在连接到Broker时可以设置一个遗嘱消息。如果Broker检测到客户端异常断开连接,它会发布这个遗嘱消息到指定的主题。

总之,MQTT的架构基于发布/订阅模型,允许客户端发布消息和订阅主题,而Broker则负责管理这些消息和主题,并确保消息正确地传输到相关的订阅者。

技术术语(共 9 个)—— 点击展开
MQTT轻量级物联网消息传输协议,基于发布/订阅模式,适合低带宽不稳定网络
BrokerMQTT 代理服务器,负责接收发布消息并分发给订阅者
QoS服务质量等级,0 最多一次 / 1 至少一次 / 2 恰好一次
TopicMQTT 主题,消息路由的层级字符串,支持通配符 + 与 #
订阅客户端向 Broker 注册感兴趣的主题以接收消息
发布客户端向指定主题发送消息
保留消息Retained 消息,Broker 为每主题保留的最后一条消息
遗嘱消息Will 消息,客户端异常断开时 Broker 代为发布的消息
传感器将物理量转换为电信号的检测装置
来源/工具信息 —— 点击展开
来源 MQTT中文网(mqtt.cn) —— 国内领先的MQTT通信协议技术社区 分类 MQTT 教程 字数 931 字 · 阅读约 3 分钟 更新 2023-09-17 永久链接 https://www.mqtt.cn/635.html
推荐工具:MQTT调试助手 微信小程序
MQTT中文网官方推出的MQTT调试工具,支持 MQTT 3.1.1/5.0 实时连接调试、主题订阅、消息收发监控与报文分析。 无需安装,微信搜索「MQTT调试助手」即可使用。 电脑端入口:https://www.mqtt.cn/mqtttool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 mqtt.cn
相关标签
📝 作者声明
本文由 MQTT中文网技术团队 原创撰写,内容基于实际项目案例与技术文档,力求为读者提供准确、实用的参考信息。
把这篇资料用于真实项目?

进入工具中心进行报文解析、CRC 校验和设备调试,或提交需求获取选型与接入建议。

工程师会员

把这篇文章变成可执行的调试资料

开通后可使用高级报文解析、资料包下载、代码示例、工程案例和优先技术支持,适合真实项目交付。

高级工具不限次
资料包与代码包
完整工程案例库
优先技术支持入口