首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >悬浮骆驼KafkaConsumer

悬浮骆驼KafkaConsumer
EN

Stack Overflow用户
提问于 2020-02-25 10:46:39
回答 1查看 491关注 0票数 0

我的应用程序有N个实例正在运行。实例的数量总是大于Kafka分区的数量。例如,一个消费者组的6个实例,从4个Kafka分区消费.因此,在任何时候,实际上只有4个实例在使用。

在这种情况下,我是否可以暂停卡夫卡消费骆驼路线,而不让卡夫卡试图向其他潜在消费者重新平衡?我的理解是,挂起的路线会停止轮询,而另一条则会接载。

EN

回答 1

Stack Overflow用户

发布于 2020-02-28 09:25:09

这不是骆驼,而是卡夫卡的问题。再平衡由Kafka处理,每当使用者显式地离开使用者组或静默死亡(不再发送心跳)时触发。

Kafka2.3引入了一个名为"静态隶属度“的新特性,以避免仅仅因为消费者重新启动而进行再平衡。

但在你的情况下(另一个消费者必须承担离开消费者的负担),我认为卡夫卡必须触发一个相对于所有消费者的再平衡,因为所使用的协议。

还请参阅这篇文章,以深入研究再平衡及其在可用性和容错性之间的权衡。

编辑由于注释

如果您想避免再平衡,我认为您必须同时增加session.timeout.ms (心跳间隔)和max.poll.interval.ms (处理超时)。

但是,即使你把它们设置得很高,我想它也不能可靠地工作,因为路由暂停仍然可能发生在心跳之前(简单地说,时间不对)。

有关session.timeout.msmax.poll.interval.ms之间的区别,请参见session.timeout.ms

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60392807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档