选择适用于解决方案的 IoT 中心层

每个 IoT 解决方案都是不同的,因此 Azure IoT 中心会根据定价和缩放提供多个选项。 本文旨在介绍如何评估 IoT 中心需求。 有关 IoT 中心层的定价信息,请参阅 IoT 中心定价

若要确定哪个 IoT 中心层适用于解决方案,请向自己提问两个问题:

我计划使用哪些功能? Azure IoT 中心提供两个层,即基本层和标准层,这两个层在所支持的功能数目上有所不同。 如果 IoT 解决方案需要先从设备收集数据,然后再集中进行分析,则可能适合使用基本层。 如果需要使用更高级的配置来远程控制 IoT 设备,或者需要将某些工作负荷分发到设备本身,则应考虑标准层。 若要详细了解每一层中包括哪些功能,请转到基本层和标准层

我计划每天移动多少数据? 每个 IoT 中心层提供三种大小,具体取决于每天能够处理的数据吞吐量。 这些大小以数字的形式标为 1、2、3。 例如,1 级 IoT 中心的每个单元每天可以处理 40 万条消息,而 3 级单元则可以处理 3 亿条消息。 有关数据准则的更多详细信息,请转到消息吞吐量

基本层和标准层

IoT 中心的标准层启用了所有功能,是任何需要使用双向通信功能的 IoT 解决方案所必需的。 基本层启用了部分功能,适用于只需单向通信(从设备到云)的 IoT 解决方案。 这两个层提供相同的安全性和身份验证功能。

创建 IoT 中心以后,即可从基本层升级到标准层,不需中断现有的操作。 有关详细信息,请参阅如何升级 IoT 中心。 请注意,基本层 IoT 中心的最大分区限制为 8,标准层的为 32。 大多数 IoT 中心只需要 4 个分区。 分区限制是在创建 IoT 中心时选择的,它将设备到云消息关联到这些消息的并行读取器的数目。 从基本层迁移到标准层时,此值保持不变。 另请注意,每个 IoT 中心在每个层内只能选择一种类型的版本。 例如,可以创建具有多个 S1 单元的 IoT 中心,但不能创建混合使用不同版本的单元,例如 S1 和 B3,或者 S1 和 S2。

功能 基本层 标准层
设备到云的遥测
每设备标识
消息路由
HTTP、AMQP 和 MQTT 协议
监视和诊断
云到设备的消息传递
设备孪生模块孪生设备管理

IoT 中心还提供一个免费层,用于测试和评估。 它具有标准层的所有功能,但消息传递有限额。 不能从免费层升级到基本层或标准层。

IoT 中心 REST API

IoT 中心基本层和标准层所支持的功能存在差异,也就是说,某些 API 调用在基本层中心不适用。 下表显示了哪些 API 可用:

API 基本层 标准层
删除设备
获取设备
删除模块
获取模块
获取注册表统计信息
获取服务统计信息
创建或更新设备
放置模块
查询 IoT 中心
查询模块
创建文件上传 SAS URI
接收发往设备的通知
发送设备事件
发送模块事件
更新文件上传状态
清除命令队列
获取设备孪生
获取模块孪生
调用设备方法
更新设备孪生
更新模块孪生
放弃发往设备的通知
完成发往设备的通知
取消作业
创建作业
获取作业
查询作业

消息吞吐量

若要基于每个单位评估流量,最佳方式是调整 IoT 中心解决方案的大小。 尤其要考虑以下类别的操作所需的高峰吞吐量:

  • 设备到云的消息
  • 云到设备的消息
  • 标识注册表操作

流量按单元而不是中心来度量。 1 级或 2 级 IoT 中心实例最多可以有 200 个与之关联的单元。 3 级 IoT 中心实例最多可以有 10 个单元。 创建 IoT 中心以后,即可更改单元数,或者在特定层的不同大小(1、2、3)之间切换,而不会中断现有的操作。 有关详细信息,请参阅如何升级 IoT 中心

例如,就每个层的流量功能来说,设备到云的消息遵循以下持续吞吐量指导原则:

持续吞吐量 持续发送速率
B1、S1 每个单元最多 1111 KB/分钟
(1.5 GB/天/单元)
每个单元平均 278 条消息/分钟
(400000 条消息/天/单元)
B2、S2 每个单元最多 16 MB/分钟
(22.8 GB/天/单元)
每个单元平均 4,167 条消息/分钟
(600 万条消息/天/单元)
B3、S3 每个单元最多 814 MB/分钟
(1144.4 GB/天/单元)
每个单元平均 208,333 条消息/分钟
(3 亿条消息/天/单元)

除了此吞吐量信息,另请参阅 IoT 中心配额和限制,并相应地设计解决方案。

标识注册表操作吞吐量

由于大多数 IoT 中心标识注册表操作都与设备预配相关,因此不认为这些操作是运行时操作。

有关具体的突发性能数字,请参阅 IoT 中心配额和限制

分片

尽管单个 IoT 中心可以扩展到数百万个设备,但有时解决方案所需的具体性能特征无法由单个 IoT 中心提供保证。 在这种情况下,可以跨多个 IoT 中心将设备分区。 多个 IoT 中心可以缓解流量喷发,并获得所需的吞吐量或操作速率。

后续步骤