gpt4 book ai didi

java - 卡夫卡消费者: can onPartitionsRevoked and onPartitionsAssigned callbacks be executed inside one poll() call?

转载 作者:行者123 更新时间:2023-12-01 20:09:57 25 4
gpt4 key购买 nike

我正在使用kafka消费者api 0.10.2.1。

KafkaConsumer提供分区分配和撤销的回调:

consumer.subscribe(topics, consumerRebalanceListener);

其中consumerRebalanceListener有两个方法:

public void onPartitionsRevoked(Collection<TopicPartition> partitions);
public void onPartitionsAssigned(Collection<TopicPartition> partitions);

由于 Kafka Consumer 中的所有操作都发生在单线程中,并且在 poll() 方法内部,因此这些回调是从 poll() 方法内部调用的。问题是,它们是否可以通过一个 poll() 调用来调用,还是总是需要两个单独的 poll() 调用?

最佳答案

在我看来,它们是从 poll() 调用中调用的。当消费者实例开始加入群组时,首先调用onPartitionsRevoked来撤销分配给该实例的所有分区,并发送JoinGroup请求。然后它无限期地阻塞,直到收到响应。如果加入组成功,则会通过调用onPartitionsAssigned执行用户的回调。所有这些都在一轮民意调查中完成。

关于java - 卡夫卡消费者: can onPartitionsRevoked and onPartitionsAssigned callbacks be executed inside one poll() call?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46808621/

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