gpt4 book ai didi

Azure Eventhub/事件处理器主机 : Partitioning not working as predicted

转载 作者:行者123 更新时间:2023-12-03 05:38:23 26 4
gpt4 key购买 nike

我们现在正在开发一个项目,该项目实现并使用 Azure Eventhub。我们使用事件处理器主机来处理来自 Eventhub 的数据。我们有 32 个分区分布在 3 个节点上,并且想知道事件处理器主机如何将分区分布和平衡到接收器/节点上 - 特别是在使用分区键时。

All data from all 4 customers

我们目前有 4 个不同的客户( azure 、橙色、紫色和浅 azure ),它们向我们发送不同大小的数据。正如您所看到的,左边的 azure 客户发送了大约。 132k串数据,而右边浅 azure 的客户只发送了28串。我们的理论是,给定基于客户(颜色识别)的分区键,我们会看到客户数据只会放置在一个节点中。相反,我们可以看到数据以某种方式均匀分布在 3 个节点上,如下所示:

节点1:

Node 1

节点2:

Node 2

节点3:

Node 3

对于分区键的使用方式,我们是否存在误解?根据我们在文档中读到的内容,当我们不指定分区键时,将使用“循环”方法 - 但即使使用分区键,它也会以某种方式均匀地分布它们。我们是否以某种方式对节点施加了压力——一个 azure 客户拥有大量数据,而另一个客户几乎没有任何数据?或者说发生了什么?

为了形象化我们的理论,我们绘制了以下内容: Possibly what is happening

那么我们是否向 azure 客户强调顶部节点,最终必须将分区移动到中间节点?

最佳答案

当您想要确保一组事件路由到同一分区,但又不想分配显式分区时,可以使用分区键。简而言之,使用分区键是控制路由的显式请求,并阻止服务跨分区平衡。

指定分区键时,它用于生成哈希值,事件中心服务使用该哈希值来分配事件将路由到的分区。每个使用相同分区键的事件都将发布到相同的分区。

要允许服务在发布时循环,您不能指定分区键或显式分区标识符。

关于Azure Eventhub/事件处理器主机 : Partitioning not working as predicted,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60615871/

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