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

实时 IoT 更新

Azure Functions
Azure IoT Edge
Azure IoT 中心
Azure Maps
Azure SignalR 服务

本指南概述了一种客户端(如网页或移动应用)实时从设备接收更新的方式。 云应用不再提交 HTTP 请求以获取最新信息。 Azure SignalR 服务而会在内容可用时立即将其推送给客户端。 作为托管服务,Azure SignalR 服务简化了将实时通信添加到应用的过程。

体系结构

显示 Azure SignalR 服务如何通过实时 IoT 数据使网页和移动应用等客户端保持最新状态的体系结构示意图。

下载此体系结构的 Visio 文件

工作流

  1. 网页、移动应用和其他客户端从无服务器计算平台 Azure Functions 请求 Azure SignalR 服务终结点和令牌。 除了集成来自各种源的数据,Functions 还管理 Azure SignalR 服务终结点和有关客户端组的信息。

  2. 客户端使用终结点和令牌连接到 Azure SignalR 服务。

  3. IoT 设备将遥测发送到 Azure IoT Edge 和 Azure IoT 中心。 IoT Edge 将已处理的 IoT 设备遥测发送到 IoT 中心。

  4. 遥测在 Azure Functions 中触发函数。 函数完成以下任务:

    • 运行你对遥测编程的任何计算。
    • 按照你编程的任何方式转换数据。
    • 使用托管服务 Azure SignalR 服务来广播数据。
  5. Azure SignalR 服务支持多个实时应用程序使用的技术,如首选的传输协议 WebSocket。 但是,在 WebSocket 不可用时,Azure SignalR 服务使用诸如服务器发送事件 (SSE) 和长轮询等技术。 Azure SignalR 服务根据服务器和客户端支持的功能自动检测并初始化适当的传输协议。

  6. Azure SignalR 服务消息将发送到特定客户端或客户端组。 客户端使用这些数据来更新应用。

方案详细信息

物联网 (IoT) 应用程序通常需要 IoT 设备的实时数据。 例如,某些应用显示它们从设备获取的遥测或警报数据。 通过传统的轮询方法,这些客户端应用会要求设备进行状态更改。

本指南概述了一种客户端(如网页或移动应用)实时从设备接收更新的方式。 云应用不再提交 HTTP 请求以获取最新信息。 Azure SignalR 服务而会在内容可用时立即将其推送给客户端。 作为托管服务,Azure SignalR 服务简化了将实时通信添加到应用的过程。

例如,零售商可能有一个仪表板应用来显示商店中的当前客户数量。 通过本指南的解决方案,该应用不会请求最新的客户计数。 Azure SignalR 服务而会在总数发生变化时将信息馈送给应用。

可能的用例

除了零售行业以外,其他领域也可从此解决方案中获益:

  • 服务器将实时数据推送到客户端以供在可视化效果和应用程序中使用的任何场景。
  • 丰富且高度交互的应用,例如自定义的用户界面和地图。

提供实时数据更新的具体示例包括:

  • 用于映射车辆位置(汽车)的车队监视。
  • 制造过程的温度、压力和状态的远程监视(也适用于能源行业)。
  • 使用遥测(如每分钟转数、扭矩和钩载)来优化相关过程的钻井控制系统。
  • 警报机制。

注意事项

使用此模式时,请注意以下几点:

  • 如果系统具有严格的延迟要求,请注意可能会显著增加延迟的因素:

    • 在实时场景中,云应用程序信号可能会增加长达 10 秒的延迟。
    • 添加到解决方案中的任何数据转换步骤可能会增加延迟。
  • Azure SignalR 服务定义了七个层,可容纳一系列的性能容量。 了解影响这些值的因素,从而确定场景的入站和出站容量。 然后,选择最符合要求的层。 有关详细信息,请参阅 Azure SignalR 服务的性能指南

  • Azure SignalR 基于 SignalR 协议而构建,并在将消息广播到客户端时遵循发布-订阅模式。 如果在将消息发布到多个客户端时需要保证消息传递,请考虑使用自己的消息确认 (ACK) 机制。

  • 在 Power BI 视觉对象中显示实时数据时,请考虑将 Power BI 中的实时流式传输作为此解决方案的替代方案。

后续步骤

若要了解相关解决方案,请参阅以下信息:

IoT 体系结构指南

IoT 模式

IoT 体系结构