Azure IOT 中心设备分区

问题描述 投票:0回答:1

我目前正在开发一个平台,该平台约有 50,000 台设备连接到 Azure IOT 中心。由于这些设备的分区不平衡,我们一直遇到性能问题。基本上,如果一个设备在包含更多设备的给定分区中运行,那么它的性能会比在另一个包含较少设备的分区中运行要低。我们已将 IOT 集线器配置为最大数量的分区 (32),但我们仍然遇到此问题,即同一分区中驻留的设备过多。据我了解,分区分配基于设备 ID,在我们的例子中是 GUID,并且在幕后有一个哈希算法决定设备将驻留在哪个分区。

我们尝试使用未记录的 .NET Framework API EventHubPartitionKeyResolver.ResolveToPartition(在 .NET Core 中已删除)来解决该问题,该 API 本质上是在输入、设备 ID 上运行哈希算法,并返回它将驻留在其中的分区。可以迭代生成新的设备 ID,直到它落入我们知道不太拥挤的分区。 这种方法可行,但不是最佳的。

我想知道是否有其他人遇到过 IOT 集线器分区不平衡的问题,如果有,你是如何处理的。

azure iot azure-iot-hub
1个回答
0
投票

一种方法是,当设备配置服务(DPS)提供的内置策略不能满足场景要求时,我们可以使用自定义的分配策略来定义您自己的分配策略。自定义分配策略使您可以更好地控制如何将设备分配到 IoT 中心。通过使用自定义分配策略,当设备配置服务(DPS)提供的内置策略不能满足场景要求时,您可以定义自己的分配策略。

  • 有关更多详细信息,请参阅自定义分配策略,可使用 Azure IoT 中心设备配置服务配置到多个IoT 中心

enter image description here

另一种方法是修改设备ID来控制分区分配。 通过创建多个 IoT 中心并将设备定向到不同的中心,手动将设备分配到特定分区。a

© www.soinside.com 2019 - 2024. All rights reserved.