Azure事件中心:每个使用者组在一个分区上最多可以有5个并发阅读器

问题描述 投票:0回答:1

也根据Microsoft docs

每个使用者组在一个分区上最多可以有5个并发阅读器;但是,建议每个使用者组的分区上只有一个活动的接收器。在单个分区内,每个阅读器都接收所有消息。如果在同一分区上有多个阅读器,则您将处理重复的消息。您需要在代码中进行处理,这可能并不简单。但是,在某些情况下这是一种有效的方法。

  1. 我们如何配置我们的EventHubConsumerClient以在同一使用者组中的使用者之间平均分配负载均衡分区?

  2. 我们如何防止同一消费者组中的两个或多个消费者从同一分区消费?

注意:使用节点天蓝色eventhubs sdk https://www.npmjs.com/package/@azure/event-hubs

提前感谢!

azure azure-functions azure-eventhub event-driven-design
1个回答
1
投票

如果您使用接受检查点存储的重载来创建EventHubConsumerClient,则客户端将以协作方式管理负载平衡,并确保单个客户端正在读取分区。

[This sample讨论您的情况,并提供说明基本流程的代码段。

但是,我要注意的一件事是,即使EventHubConsumerClient处于负载平衡状态,面对正在读取/处理的重复事件,您的应用程序仍必须是幂等的。活动中心至少提供一次保证;在极少数情况下,服务可能会多次返回事件。

© www.soinside.com 2019 - 2024. All rights reserved.