Azure 事件中心 - 流分析架构

标签 azure azure-eventhub azure-stream-analytics

我需要一些帮助来弄清楚如何为 future 构建/优化我的 Azure 架构。
我目前正在运行一个测试,如下所示:

enter image description here

我目前正在发送某种数据 x1(每天 700k),如上图所示,“流分析”服务除了在数据库中提取数据而不进行任何聚合之外什么也不做或其他流程。

目前测试运行没有任何问题,但我担心将来可能会遇到困难,因为我想连接更多数据(x2,x3,...),这当然会增加发送的数据量。< br/>
现在我的问题是:
我很难弄清楚如何设置“事件中心”“流分析”服务来处理不断增加的新数据量。

  1. 目前我有一个带有一个分区的“事件中心”。随着 future 数据量的增加,这是否足够,并且流分析服务是否仍然能够跟上处理的速度?
  2. 我应该为每种不同的数据类型(x1、x2...)创建一个单独的“事件中心”,还是应该创建一个具有多个分区的“事件中心”?
  3. 对于每种数据类型,都有一个具有多个分区的单独“事件中心”?

我很难理解分区的概念以及如何实现它们。

有没有人有类似的架构,可以给我一些建议。

提前谢谢

最佳答案

您可以将 Eventhub 分区视为多车道高速公路。 4 车道高速公路比 1 车道高速公路具有更高的吞吐量。单车道高速公路的唯一好处是处理将按顺序进行 (FIFO)。但如果这不是强制/要求,您应该将分区设置为 max(32),以充分利用 eventhub 流式摄取的功能。如果发布者没有将消息定向到特定分区,Eventhub 会自动将消息分发到不同的分区。您可以找到有关分区的信息here .

考虑到 eventhub future 可扩展性的另一个选项是将 eventhub 的吞吐量设置为自动缩放 Link最小/最大值之间。例如1TU-4TU。

同样,您可以将流分析设置为自动缩放 Link .

流分析可以并行处理每个 eventhub 分区,更多分区可以提高并行度。作业可以使用的流单元数量还取决于最大可能的并行度。例如,1 个分区 eventhub 最多只允许 6 个流单元。 2 个分区将允许 12 个流单元。进行容量估计并从合理的分区计数开始会更好,以满足 future 的扩展需求。

关于Azure 事件中心 - 流分析架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74833044/

相关文章:

azure - Azure 函数的多个触发器

当 "SqlReferenceProperties"填充了 "User"字段时,azure-streamanalytics-cicd 失败

Azure 流分析作业截断数据

azure - 仅当找到至少一个与条件匹配的事件时才输出符合条件的事件,否则输出输入

.net - 全局禁止 NuGet 还原作为 Azure DevOps 中其他 dotnet 命令的副作用

azure - 宇宙数据库 : Optimizing RUs with a time triggered FunctionApp?

node.js - Nodejs部署的应用程序中的环境变量

azure - 是否可以有多个通配符子域 azure 应用程序网关监听器?

azure - 如何使用 Azure CLI 获取与事件中心兼容的终结点连接字符串

azure - 通过 Azure Functions 处理 Azure 事件中心事件与使用 Azure.Messaging.EventHub SDK 的 .NET 控制台应用程序处理 Azure 事件中心事件,有任何实际差异吗?