事件处理器客户端分区所有权管理



分区租约所有权管理在事件处理器客户端中如何工作?有一篇描述很高的文章,但我正在寻找更多详细信息,例如租赁管理、时间、到期等。 注意:问题是关于 EventProcessorClient,而不是 EventProcessorHost。

EventProcessorClient使用保守的方法声明分区,旨在允许处理器循环,而不会在它们之间"反弹"分区,因为它们争夺所有权,直到事情稳定下来。

负载平衡周期每 10 秒滴答一次,此时处理器将决定是否声明额外的分区。 分区所有权使用 30 秒租约,主要用于确定分区何时可能已孤立;每个周期,当所有者正常运行时,会延长已声明分区的租约。 PartitionLoadBalancer 实现被大量评论,如果你对更多详细信息感兴趣。

可以通过观察EventProcessorOptions类的默认值来查看负载平衡配置的值,这会影响用作EventProcessorClient基础的EventProcessor<TPartition>类。

目前,为了简化 API 图面,负载均衡配置不会在EventProcessorClientOptions中公开,尽管这是在不久的将来正在进行的一些更改的讨论主题。

最新更新