目录

一、什么是发布/订阅模型(Pub/Sub)
发布/订阅模型(Publish/Subscribe) 是一种消息通信模式,消息的生产者和消费者通过 主题(Topic) 进行解耦通信。
相比传统的 请求/响应(Request/Response) 模式(如 HTTP), Pub/Sub 模型具有 异步、高效、低耦合 的特点,非常适合 物联网(IoT) 设备之间的消息传递。
二、通信角色
| 角色 | 说明 |
| 发布者(Publisher) | 发送消息到某个主题(Topic) |
| 订阅者(Subscriber) | 订阅某个主题以接收消息 |
| 代理服务器(Broker) | 负责接收消息并转发给相应订阅者 |
三、MQTT 通信流程
下面是典型的 MQTT 发布/订阅交互流程
+-------------+ +-----------+ +-------------+
| Publisher A | -----> | | -----> | Subscriber X|
| 发布者 | | Broker | | 订阅者 |
+-------------+ +-----------+ +-------------+
|
|-----> | Subscriber Y |
| (订阅同一主题)
说明:
-
发布者 向某个主题发布消息(如
home/temperature) -
Broker 接收到消息后,转发给所有订阅了该主题的客户端
-
发布者和订阅者之间 无需直接连接,只与 Broker 通信
四、主题(Topic)
主题(Topic)是 MQTT 的消息分类通道。 它类似文件路径结构,区分层级用 / 分隔,例如:
home/livingroom/temperature device/lock/123/status
通配符规则:
| 通配符 | 示例 | 含义 |
| + | home/+/temperature | 匹配任意单层,如 home/livingroom/temperature |
| # | home/# | 匹配多层,如 home/livingroom/temp、home/kitchen/humidity |
五、发布/订阅流程(时序图)
下面是标准的 MQTT 发布/订阅流程(以 QoS 1 为例):


最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



