什么是 Azure Web PubSub 服务?

Azure Web PubSub 是一个全托管服务,用于构建能够实时传递更新的应用程序。 它能大规模管理长期客户连接和消息传递,因此无需操作底层的实时基础设施。

使用 Web PubSub 生成流式处理 AI 生成的令牌、更新仪表板、传递通知、协调多人游戏、跟踪位置,以及创建等待下一个 HTTP 请求不够快的其他体验。

团队无需花时间管理连接、扩展消息服务器和实现消息散播,而是专注于应用带来的体验。

选择适合你应用的开发经验

Web PubSub 提供了多种构建实时应用的方式。 每个选项都解决了不同的开发需求,同时提供可管理、可扩展的实时通信。

能力 想选它的时候就选它 开发者价值
Web PubSub(基础服务) 通过连接、用户、组和事件设计定制实时应用。 在不使用WebSocket基础设施的情况下,获得灵活的消息原语。
Azure 上的 Socket.IO 可以使用 Socket.IO 编程模型,或者将现有的 Socket.IO 应用迁移到Azure。 在由 Azure 管理连接扩缩容和协调工作的同时,您仍可继续使用熟悉的 Socket.IO API。

您可以使用基础服务构建什么?

当你的应用需要低延迟通信,并且想控制其事件模型、消息格式和业务逻辑时,基础的Web PubSub服务非常适合使用。

在 AI 辅助应用中流式传输 Token

利用Web PubSub向已连接的客户流式传输生成的代币。 用户可以立即看到回复的形成,而无需等待整个回复完成。

提供实时更新

Web PubSub 可帮助发布者在数据更新可用后立即将其发送给一个或多个订阅者。 这一模式适用于许多行业和应用类型。

用例 示例应用程序
高频数据更新 多人游戏、社交媒体投票、民意调查和在线拍卖
实时仪表板和监控 公司仪表盘、金融市场数据、销售更新、游戏排行榜和物联网监控
位置跟踪 资产追踪、交付状态、交通更新和网约车应用
多用户协作 共同编写、协作白板和团队会议应用
推送通知 社交媒体、电子邮件、比赛状态和旅行提醒
已连接的设备 实时物联网指标、电动汽车充电网络及现场活动参与
自动化 来自上游事件的实时触发器

为什么使用Azure Web PubSub?

支持企业应用需求

Web PubSub 为实时通信提供控制,作为安全、可观察且具弹性的企业架构的一部分。

要求 Web PubSub 提供的内容 开发者价值
随需求扩展 单个资源可扩展至100万个并发连接。 高级层支持基于服务指标或计划的 Azure Monitor 自动扩展 随着流量变化仍保持性能稳定,避免在每个高峰期或低谷期手动调整容量。
控制网络暴露面 使用私有终端,禁用公共网络访问,应用IP规则,并允许或拒绝具有网络访问控制的公有和私有终端的请求类型。 在需要时,将服务流量保留在私有网络上,并将敏感操作(如REST API调用)限制在批准的网络路径内。
使用基于身份的访问 使用 Microsoft Entra ID 和 Azure 基于角色的访问控制对请求进行授权。 Web PubSub 还可以使用托管身份来认证事件处理请求并访问 密钥保管库 引用。 应用最小权限访问,减少在应用代码中分发或管理访问密钥的需求。
面向故障和全球用户进行设计 高级层在支持的区域内提供自动区域冗余。 地理复制 可以将客户端路由到健康的、附近的副本,并处理副本间的通信。 针对可用性区或区域故障构建,服务地理分布的用户,无需创建自己的跨区域消息层。
观察服务健康状况 内置 服务指标 涵盖连接、配额利用率、服务器负载、流量、REST API 响应时间和客户端请求状态。 你可以用 Azure Monitor 创建基于指标的警报。 及早发现容量和可靠性问题,并将Web PubSub整合进现有的运营监控中。

Note

自动扩展、区域冗余和地理复制需要高级版。 支持的区域可实现区域冗余。

关于生产可靠性建议和故障切换行为,请参见 Azure Web PubSub Service 中的可靠性

跨平台和语言覆盖客户

Web PubSub 支持网页和移动浏览器、桌面和移动应用、服务器进程、物联网设备以及游戏主机。 服务器和客户端SDK支持C#、Java、JavaScript和Python。 由于基础服务支持标准的WebSocket和REST API,应用程序也可以无需SDK集成。

控制消息如何到达客户端

基础服务支持通用的传递模式,无需构建连接路由层。

消息传送模式 它所实现的功能是什么
广播到所有客户端 给所有连接的客户端发送更新。
发送到群组 触达由您的应用定义的部分客户端。
发送给用户 同步属于用户的所有连接,包括多个设备或浏览器标签页。
客户端发布/订阅 允许组内授权客户端交换消息,而无需将所有消息都路由到应用服务器。
客户端到服务器消息 在应用后端以低延迟接收客户端事件。

如何使用基本服务?

选择最适合您架构的集成模型:

  • 构建无服务器实时应用:在JavaScript、C#、Java或Python中使用Azure Functions集成Web PubSub。
  • 启用客户端发布/订阅: 使用Web PubSub子协议,授权客户端可以向其他客户端发布消息。
  • 集成应用服务器: 使用服务SDK来发送消息、管理群组和关闭连接。
  • 调用REST API: 从任何能发出REST请求的后端发送消息。

后续步骤

探索基地服务

可以直接在 Azure 门户中尝试核心的 Web PubSub 功能,或者搭建本地的发布/订阅应用。