从分区事件中心使用以避免 QuotaExceededException 的正确策略是什么?
What is the correct strategy to consume from partitioned EventHub to avoid QuotaExceededException?
我通过 Java EventHubClient implementation. My strategy has been to create and persist a PartitionReceiver for each partition and call PartitionReceiver::receiveSync 定期从 Azure EventHub 实例消费。
EventHub 实例已经将分区计数增加到 30+,并且现在正在抛出相同的逻辑 QuotaExceededException,看起来我们正在达到我们的消费者组的最大接收者限制。
这让我觉得我的策略完全错误,在不超过此配额的情况下不断从 EventHub 实例的所有分区中消费的标准化方法是什么?
谢谢!
接收者的最大数量限制为 5,并且是每个消费者组的每个分区。您应该检查您的代码并确定为什么要在至少一个分区上创建 5 个以上的接收器。
顺便说一句,如果您没有充分的理由使用 EventHubClient,您应该使用 EventProcessorHost 来实现您的消费者。
我通过 Java EventHubClient implementation. My strategy has been to create and persist a PartitionReceiver for each partition and call PartitionReceiver::receiveSync 定期从 Azure EventHub 实例消费。
EventHub 实例已经将分区计数增加到 30+,并且现在正在抛出相同的逻辑 QuotaExceededException,看起来我们正在达到我们的消费者组的最大接收者限制。
这让我觉得我的策略完全错误,在不超过此配额的情况下不断从 EventHub 实例的所有分区中消费的标准化方法是什么?
谢谢!
接收者的最大数量限制为 5,并且是每个消费者组的每个分区。您应该检查您的代码并确定为什么要在至少一个分区上创建 5 个以上的接收器。
顺便说一句,如果您没有充分的理由使用 EventHubClient,您应该使用 EventProcessorHost 来实现您的消费者。