MQTT系列—(2)MQTT 发布/订阅模式详解

目录

一、什么是发布/订阅模型(Pub/Sub)

二、通信角色

三、MQTT 通信流程

四、主题(Topic)

通配符规则:

五、发布/订阅流程(时序图)

六、QoS 在发布/订阅中的作用

七、示例:智能锁系统中的发布/订阅

八、发布/订阅的优势

九、发布/订阅与请求/响应对比

小结


一、什么是发布/订阅模型(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 为例):


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

34号树洞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值