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

通过部署标记缩放和管理 IoT 解决方案

Azure 事件中心
Azure IoT 中心
Azure 流量管理器

本文介绍了用以在物联网 (IoT) 解决方案中纵向扩展连接的设备数的部署标记策略。 本文还详细介绍了如何在部署标记之间部署 IoT 设备和应用程序。

IoT 解决方案的部署标记策略基于部署标记设计模式。 部署标记是由异类组件组成的单元,它们支持定义的设备填充。 部署标记通过复制标记纵向扩展连接 IoT 设备的数量,而不是独立地纵向扩展解决方案的不同部分。

部署标记的优势:

  • 按地理依赖关系、生命周期或发布状态等标准来放置和分发设备。
  • 包含特定标记的中断或服务降级影响。
  • 将新功能、功能和体系结构更改部署到可支持它们的特定标记。
  • 通过将功能和服务与指定的所有设备对齐来支持多代设备管理。
  • 提供基于标记的缩放和成本模型,以可预测地适应未来增长。

IoT 部署标记体系结构

显示供在 Azure IoT 中使用的部署标记策略的图表。

下载此体系结构的 Visio 文件

上图演示了 Azure IoT 的部署标记策略。 此解决方案生成的每个原子标记都包含以下内容:

标记应始终设计为支持显式容量。 若要确定要支持的正确设备数,请考虑希望从设备获得多少通信流量。 在此解决方案中,每个标记都以最佳方式支持定义的设备填充(1,000 到 1,000,000 台设备)。 随着设备填充的增长,增加的标记实例可以适应这种增长。

在标记之间移动设备和应用程序

尽管部署标记适用于原子部署,但有时也需要在标记之间移动所有设备。 例如,你可能需要:

  • 在发布周期中,需要将所有设备从测试标记移动到生产标记。
  • 在高可用性方案中,可以在故障修复期间将设备和用户移动到另一个标记。
  • 负载均衡以跨标记更均匀地分配所有设备。

在中心之间移动设备

如果标记组件只包含设备到云的行为,则在中心之间移动设备足以将设备从一个标记迁移到另一个标记。 Azure IoT 设备预配服务 (DPS) 提供一种在 IoT 中心实例之间移动设备的方法。 若要在标记策略中使用 DPS,请务必理解 IoT 中心设备预配服务 (DPS) 术语和概念。

注意

DPS 使用注册 ID,而 IoT Hub 使用设备 ID。 这些 ID 的值通常相同,但也可以不同。 使用 DPS API 查询或管理设备时,请确保使用注册 ID。

在独立的标记之间移动设备和应用程序

如果部署标记包含通过 IoT 中心进行通信的 Web 前端或 API 应用程序,则这些组件还需要迁移到新中心,以继续与移动的设备进行通信。 可以在标记之间移动所有应用程序和设备。

如果每个标记都包含端到端应用程序,Azure 流量管理器可以将流量从一个标记移到另一个标记。 此策略涉及创建多个标记,每个标记都包含带有自己的 URL 的整个应用程序。 所有设备和应用程序用户都从一个标记移到另一个标记。

此完全独立的策略是:

  • 易于实施。
  • 适合作为高可用性策略的一部分使用。
  • 可用于将设备和用户从测试环境迁移到生产环境

显示如何将一组设备从一个标记移动到另一个标记的图表。

下载此体系结构的 Visio 文件

上图显示了将一组设备从标记 1 移动到标记 2 的过程:

  1. 如果 IoT 中心终结点未知或不再有效,则设备通过 DPS 获取该终结点。
  2. 当设备移到标记 2 时,流量管理器会将应用程序 URL 指向应用程序 2 实例。
  3. DPS 将整组设备从一个标记移到另一个标记。
  4. 每个应用程序标记都包含应用程序前端,并引用该标记对应的 IoT 中心。

在单个应用程序网关后的标记之间移动设备

如果单个应用程序前端支持多个设备标记,应用程序前端必须动态更新其设备到集线器的映射,以维护云到设备的通信。 为了支持移动到不同标记和 IoT 中心的设备,网关可以使用设备到中心映射的缓存机制。 服务客户端可以使用共享查找例程来动态检测设备调用并将其迁移到新的 IoT 中心。

演示设备如何使用应用网关从一个中心移动到另一个中心的图表。

下载此体系结构的 Visio 文件

在此模型中,网关使用缓存将设备映射到 IoT 中心,默认映射到缓存的终结点。 如果网关收到找不到设备错误,它将使用 DPS 服务 SDK 查询单个设备注册并确定设备现在使用的 IoT 中心。 然后,网关会用新的映射来更新缓存。

以下是使用此策略的一些注意事项:

  • 虽然在共享查找中缓存可避免在每次调用时重新协商终结点,但缓存终结点可能会失败。 使用 DPS 重新协商的次要缓存或回退计划可以提高解决方案的可靠性。

  • 如果设备正在进行注册,则无法访问该设备。 使用 DPS API(如获取设备注册状态),获取设备已分配的 IoT 中心及其当前注册状态。

  • 在仅设备的情况下,当设备从一个标记移到另一个时,它们将从 IoT 中心断开连接。 在应用程序到设备的情况下,此错误是由于应用试图通过 IoT 中心访问设备而发生的。

作者

本文由 Microsoft 维护, 它最初是由以下贡献者撰写的。

主要作者:

后续步骤