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

注释

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

概述

MQTT 是一种轻型发布/子消息传送协议,专为资源受限的设备而设计。 Azure Web PubSub 服务现在原生支持通过 WebSocket 传输的 MQTT,从而在 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 代理。
Session 连接 Web PubSub 中的连接是一个逻辑概念,表示客户端和服务之间的有状态关系,一个连接对应于一个会话。 通常这两个单词是可互换的。
订阅主题 加入一个组 这两个作的效果相同:客户端将从该主题或组接收消息。 主题名称是组名称。
将消息发布到主题 向群组发送消息 这两个作的效果相同:订阅该主题或属于该组的客户端将收到消息
客户 ID 连接 ID 连接 ID 用于标识与 Web PubSub 的 连接。 我们使用 客户端 ID 作为 Web PubSub 中 MQTT 连接的 连接 ID