你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure Web PubSub 服务中的 MQTT(预览版)

注意

Azure Web PubSub 中的 MQTT 支持处于预览阶段。

概述

MQTT 是一种轻量级发布/订阅消息传递协议,专为资源受约束的设备而设计。 Azure Web PubSub 服务现在原生支持 MQTT over WebSocket 传输,可以实现 MQTT Web 客户端与其他 Web PubSub 客户端之间的交叉通信

这项新功能解决了两个关键用例:

  1. 使用混合协议的实时应用程序:你可以允许使用不同协议的客户端通过 Azure Web PubSub 服务实时交换数据。

  2. 支持更多编程语言:你可以使用任何 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 代理来指代上游服务器。
会话 连接 Web PubSub 中的“连接”是一个逻辑概念,表示客户端与服务之间的有状态关系。一个“连接”对应一个“会话”。 通常情况下,这两个单词可互换。
订阅主题 加入组 这两个操作效果相同:客户端会收到来自该主题或组的消息。 主题名称是组名称。
将消息发布到主题 将消息发送到组 这两个操作的效果相同:订阅该主题或属于该组的客户端会收到消息
客户端 ID 连接 ID “连接 ID”标识到 Web PubSub 的“连接”。 我们使用“客户端 ID”作为 Web PubSub 中的 MQTT 连接的“连接 ID”

下一步