如何知道 IEventProcessor 是否能够处理 Azure EventHub 中的事件量
How to know if IEventProcessor is able to handle the event volume in Azure EventHub
我有多个 IEventProcessor
运行 实例,但我如何判断是放大还是缩小以处理 EventHub 中的事件量?我应该打电话给哪个API?
其中一项常用技术是 "tracking the event backlog",您将定期读取事件中心分区的属性并比较当前正在处理的事件的序列号之间的增量最后发布到分区的事件。虽然这不是一种万无一失的完美方法,但它提供了一种合理的粗略方法,可以了解当您在几个周期内跟踪事件时,是否发现事件的发布速度高于阅读速度。
虽然这是 available 与较新的 Azure.Messaging.EventHubs.Processor
库中的 EventProcessorClient
,不幸的是,它似乎并没有像遗留 Microsoft.Azure.EventHubs
处理器公开它一样。
如果您不直接在处理器内通过编排器或其他方式控制缩放,那么您可能需要考虑使用 REST API。 Get Partition Metadata 端点 returns 有关分区大小的信息、incoming/outgoing 速率以及用于比较的 beginning/ending 序列号。
我有多个 IEventProcessor
运行 实例,但我如何判断是放大还是缩小以处理 EventHub 中的事件量?我应该打电话给哪个API?
其中一项常用技术是 "tracking the event backlog",您将定期读取事件中心分区的属性并比较当前正在处理的事件的序列号之间的增量最后发布到分区的事件。虽然这不是一种万无一失的完美方法,但它提供了一种合理的粗略方法,可以了解当您在几个周期内跟踪事件时,是否发现事件的发布速度高于阅读速度。
虽然这是 available 与较新的 Azure.Messaging.EventHubs.Processor
库中的 EventProcessorClient
,不幸的是,它似乎并没有像遗留 Microsoft.Azure.EventHubs
处理器公开它一样。
如果您不直接在处理器内通过编排器或其他方式控制缩放,那么您可能需要考虑使用 REST API。 Get Partition Metadata 端点 returns 有关分区大小的信息、incoming/outgoing 速率以及用于比较的 beginning/ending 序列号。