gpt4 book ai didi

message-queue - 消费者平衡如何在卡夫卡发挥作用?

转载 作者:行者123 更新时间:2023-12-03 08:48:30 25 4
gpt4 key购买 nike

添加或关闭新的消费者/经纪人后,Kafka会触发重新平衡操作。是Kafka重新平衡阻止操作吗?重新平衡操作进行期间,Kafka消费者是否受到阻拦?

最佳答案

取决于您所说的“受阻”。如果您的意思是“触发重新平衡时现有连接已关闭”,那么答案是肯定的。不幸的是,当前的Kafka的重新平衡算法并不完善。

这是消费者重新平衡过程中发生的事情。

假设我们有一个带有10个分区(0-9)的主题,并且有一个使用它的使用者(将其命名为consumer1)。当第二个使用者出现(consumer2)时,他们的重新平衡任务将触发(consumer1获取一个事件,consumer2进行初始重新平衡)。现在,consumer1关闭所有现有连接(甚至那些将很快重新打开的连接),并在Zookeeper中释放所有10个分区的分区所有权。

然后,它运行分区分配算法,并决定应声明哪些分区,然后再次在Zookeeper中声明分区所有权。如果声明成功,consumer1将开始获取他的新分区。

同时consumer2也运行分区分配算法,并尝试在Zookeeper中声明其分区。仅当consumer1在这些分区上释放所有权时,声明才会成功。声明成功后,consumer2开始获取,或者如果未能在给定的重试次数内声明分区,您将获得rebalance failed after n retries异常。

如您所见,不仅仅是关闭连接并释放分区的所有权consumer1不再拥有,它不必要地关闭了他的所有连接并仅用较少的分区重新启动。添加分区的情况相同(当我们使用通配符过滤器使用时,出现新主题)-关闭所有连接,然后再次打开,而不仅仅是打开新连接。

因此,我希望这能回答您的问题-重新平衡开始后,抓取操作就会停止。

关于message-queue - 消费者平衡如何在卡夫卡发挥作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27181693/

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