Leer en inglés

Compartir a través de

什么是 Azure SignalR 服务?

Azure SignalR Service 简化了通过 HTTP 向应用程序添加实时 Web 功能的过程。 这种实时功能允许服务将内容更新推送到连接的客户端,例如单页 Web 或移动应用程序。 因此,客户端会更新,无需轮询服务器,或提交新的 HTTP 请求以获取更新。

本文概述了 Azure SignalR 服务。

什么是 Azure SignalR 服务?

任何需要实时将数据从服务器推送到客户端的方案都可以使用 Azure SignalR 服务。

通常需要从服务器轮询的传统实时功能也可以使用 Azure SignalR 服务。

Azure SignalR 服务已用于各种行业,适用于需要实时内容更新的任何应用程序类型。 下面是可以使用 Azure SignalR 服务的一些示例:

  • 高频率数据更新: 游戏、投票、民意调查和拍卖。
  • 仪表板和监视: 公司仪表板、金融市场数据、即时销售更新、多玩家游戏排行榜和 IoT 监视。
  • 聊天: 实时聊天室、聊天机器人、在线客户支持、实时购物助手、信使和游戏内聊天。
  • 地图上的实时位置: 物流跟踪、交付状态跟踪、运输状态更新和 GPS 应用。
  • 实时定向广告: 个性化实时推送广告和产品/服务以及交互式广告。
  • 协作应用: 共同创作、白板应用和团队会议软件。
  • 推送通知: 社交网络、电子邮件、游戏和旅行警报。
  • 实时广播: 实时音频/视频广播、实时字幕、翻译和事件和新闻广播。
  • IoT 和连接的设备: 实时 IoT 指标、远程控制、实时状态和位置跟踪。
  • 自动化:基于上游事件的实时触发器。

使用 Azure SignalR 服务有什么好处?

基于标准:

SignalR 提供了用于生成实时 Web 应用程序的多种技术的抽象。 WebSockets 是最佳传输方式,但在其他选项不可用时,会使用其他技术,例如 Server-Sent 事件 (SSE) 和长轮询。 SignalR 根据服务器和客户端支持的功能自动检测和初始化相应的传输。

原生 ASP.NET Core 支持:

SignalR 服务通过 ASP.NET Core 和 ASP.NET 提供原生编程体验。 使用 SignalR 服务开发新的 SignalR 应用程序,或从基于 SignalR 的现有应用程序迁移到 SignalR 服务需要最少的努力。 SignalR 服务还支持 ASP.NET Core 的一项新功能:服务器端 Blazor。

广泛的客户端支持:

SignalR 服务适用于各种客户端,例如:

  • Web 和移动浏览器
  • 桌面应用
  • 移动应用
  • IoT 设备
  • 游戏主机

多种语言支持:

SignalR 服务提供不同语言的 SDK:

  • 客户端: 支持 SignalR 协议的任何客户端库 都与 SignalR 服务兼容。
  • 服务器端:ASP.NET Core 或 ASP.NET Web 应用程序
  • 通过 REST API、Azure Functions 触发器和绑定,以及事件网格集成,为 ASP.NET Core SignalR 提供无服务器支持。

处理大规模客户端连接:

SignalR 服务专为大规模实时应用程序而设计。 SignalR 服务允许多个实例协同工作,以扩展到数百万个客户端连接。 该服务还支持多个全球地区进行分片、高可用性或灾难恢复。

消除了自承载 SignalR 的负担:

与自托管的 SignalR 应用程序相比,切换到 SignalR 服务将无需管理用于处理扩展和客户端连接的后台系统。 完全托管服务还可以简化 Web 应用程序并节省托管成本。 SignalR 服务提供全球覆盖范围和世界级的数据中心和网络,可扩展到数百万个连接,并提供 Azure 的标准合规性和安全性。

SignalR 服务通过与 Azure Functions 和事件网格集成支持基于服务器的配置和无服务器环境。

托管的 Azure SignalR 服务

为不同的消息传送模式提供丰富的 API:

SignalR 服务允许服务器将消息发送到特定连接、所有连接或属于特定用户的连接子集,或已放置在任意组中。

如何使用 Azure SignalR 服务

使用 Azure SignalR 服务进行编程有多种不同的方法。 示例如下: