gpt4 book ai didi

azure - Azure 上管理大量数据并将其按订单交付给许多订阅者的最佳服务是什么

转载 作者:行者123 更新时间:2023-12-02 06:23:41 24 4
gpt4 key购买 nike

生产方

我们正在尝试将大量数据提取到 Azure 云。数据来自传感器。速率约为每秒 13 个数据包,每个传感器的总量约为 500 KiB/s。将有 10 万个传感器。

消费者端

然后,我们有一些消费者应用程序需要检索这些数据(以尽可能低的延迟),并且生产者以相同的顺序发送数据。每个应用程序都需要一个传感器的所有数据。每个传感器将有 5-10 个应用程序/消费者。

enter image description here

第一种方法

首先,我们尝试使用 EventHubs 解决此问题。就数据排队并将其分发给消费者而言,这看起来最有前途。但在负载测试期间,我们发现将数据存储在一个分区上存在硬性限制(这是我们所需要的,因为数据需要随时排序)。通过一个分区和给定的负载,我们可以处理大约 4-5 个消费者。当消费者超过 5 个时,事情会变得迟缓,消费者无法再与生产者保持同步。

显然,这是 EventHub 分区本身的限制,与层(标准与高级 --> 没有区别)或扩展单位(增加扩展单位没有任何区别)无关。

Azure 对于提高吞吐量的建议很简单:增加每个 EventHub 的分区数量。但这样我们就会失去事件的顺序,并且客户将被要求自己做(这实际上是不可能实现的)。因此,在我们看来,EventHub 并不完全是我们所需要的,或者我们没有正确使用它们。

进一步思考

然后,我们搜索了大量可以为我们提供所需功能的其他服务。我们查看了ServiceBus(我们已经将其用于微服务通信)。但在那里,数据量的限制似乎更加严格。

问题

解决上述问题的理想解决方案是什么?是否可以通过一个服务来解决,或者我们是否需要组合多个服务(例如EventHub --> Stream analytivs jobs --> ServiceBus)?

最佳答案

以下是我将做的概念证明:

-使用 Azure 事件中心(具有多个分区)

-使用某些窗口函数近乎实时地设置 Azure 流分析和查询事件。然后,我会将数据接收到 Azure 服务总线主题,订阅者稍后将使用该主题。

关于azure - Azure 上管理大量数据并将其按订单交付给许多订阅者的最佳服务是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73634594/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com