本文介绍 MQTT 实例中涉及到的专有名词和术语,以帮助您更好地理解相关概念并使用产品。
任何使用 MQTT 协议连接到 MQTT 服务端的设备或应用程序。它既可以是发布者,也可以是订阅者,也可以具备这两种身份。
例如 MQTT 测试工具、使用 MQTT 的应用程序、使用 MQTT 上报数据的设备等等。
MQTT Broker 是负责处理客户端请求的关键组件,包括建立连接、断开连接、订阅和取消订阅等操作,同时还负责消息的转发。
MQTT Broker 可以称为服务端。在发布消息的客户端和订阅的客户端之间充当中介,将所有接收到的消息转发到匹配的订阅客户端。
MQTT 基于发布-订阅模式,解耦了消息的发布者和订阅者,发布者和订阅者之间无需建立直接连接,由 MQTT Broker 负责消息的路由和分发。
MQTT 协议根据主题来转发消息。发布者可以在发布时指定消息的主题,订阅者可以通过订阅主题来接收消息。
主题支持通过反斜线/
来区分层级,类似于 URL 路径。例如:
sensor/1/temperature sensor/+/temperature
MQTT 主题也可以用通配符表示,支持以下两种通配符:
+
:表示单层通配符,例如 a/+
匹配 a/x
或 a/y
。#
:表示多层通配符,例如 a/#
匹配 a/x
、a/x/y
。说明
用通配符表达的主题只能用于订阅,不能用于发布。订阅者可以在订阅的主题中使用通配符,从而一次订阅多个主题。
MQTT 提供了三种服务质量(QoS)等级,每条消息都可以在发布时独立设置自己的 QoS。QoS 越大,消息的传输复杂程度也越高,需要根据实际场景来选择。
与普通消息不同,保留消息可以保留在 MQTT 服务器中。
当用户订阅了这条保留消息的主题时,MQTT 会将这条消息发送给用户,即使这个保留消息是在订阅主题之前发布的。