注释
Azure Web PubSub 中的 MQTT 支持处于预览阶段。
概述
MQTT 是一种轻型发布/子消息传送协议,专为资源受限的设备而设计。 Azure Web PubSub 服务现在原生支持通过 WebSocket 传输的 MQTT,从而在 MQTT Web 客户端和其他 Web PubSub 客户端之间实现跨通信
此新功能解决了两个关键用例:
使用混合协议的实时应用程序:允许使用不同协议的客户端通过 Azure Web PubSub 服务实时交换数据。
支持更多编程语言:可以使用任何 MQTT 库来与服务连接,从而可以与以 C++ 等语言编写的应用程序集成,而无需使用 C#、JavaScript、Python 和 Java 中的可用 SDK。
请务必注意,此 MQTT 支持是 MQTT 协议的轻型适应,仅扩展到 Azure Web PubSub 已支持的功能。 不支持的一些 MQTT 功能包括:
- 通配符订阅
- 保留的消息
- 共享订阅
- 主题别名
有关支持 MQTT 功能的综合列表,请阅读 本文档文章。
有关 Azure 上更全面的 MQTT 中转站解决方案,建议浏览 Azure 事件网格。
MQTT 支持实现的实时数据交换模式
- MQTT Web 客户端与 Web PubSub 本机客户端之间的发布/订阅
- 将消息广播到 MQTT Web 客户端
- 接收 MQTT Web 客户端生命周期事件的通知
MQTT 如何适配于 Web PubSub 服务系统
注释
本部分假定你对 MQTT 协议和 Azure Web PubSub 有基本的了解。
Azure Web PubSub 服务现在可识别 MQTT 消息并将其转换为其本机协议。 下表显示了 MQTT 和 Web PubSub 之间的类似或等效术语映射。 它可帮助你了解如何将 MQTT 概念应用到 Web PubSub 中。 如果要使用 数据平面 REST API 或 客户端事件处理程序 与 MQTT Web 客户端交互,则这一点至关重要。
| MQTT 术语 | 相应的 Web PubSub 术语 | 关系 |
|---|---|---|
| 服务器/MQTT 代理 | Web PubSub 服务 | Web PubSub 服务充当 MQTT 代理来提供 MQTT 连接。 请注意,我们通常使用术语 服务器 来引用上游服务器,而不是文档中的 MQTT 代理。 |
| Session | 连接 | Web PubSub 中的连接是一个逻辑概念,表示客户端和服务之间的有状态关系,一个连接对应于一个会话。 通常这两个单词是可互换的。 |
| 订阅主题 | 加入一个组 | 这两个作的效果相同:客户端将从该主题或组接收消息。 主题名称是组名称。 |
| 将消息发布到主题 | 向群组发送消息 | 这两个作的效果相同:订阅该主题或属于该组的客户端将收到消息 |
| 客户 ID | 连接 ID | 连接 ID 用于标识与 Web PubSub 的 连接。 我们使用 客户端 ID 作为 Web PubSub 中 MQTT 连接的 连接 ID 。 |