gpt4 book ai didi

spring-boot - Spring kafka,ConsumerSeekAware接口(interface),再平衡时是否调用onPartitionsAssigned方法

转载 作者:行者123 更新时间:2023-12-03 23:55:32 25 4
gpt4 key购买 nike

重新平衡时是否调用 ConsumerSeekAware 接口(interface)、onPartitionsAssigned 方法。因为我想在初始化和重新平衡时寻找偏移量中的特定偏移量。我可以将 consumerSeekAware 用于这两个目的,还是应该将 ConsumerRebalanceListener 用于重新平衡目的。请给出简单的答案,因为我对 spring kafka 还没有深入的了解。如果可以,请提供示例代码。谢谢

最佳答案

ConsumerSeekAware有这个方法:

/**
* When using group management, called when partition assignments change.
* @param assignments the new assignments and their current offsets.
* @param callback the callback to perform an initial seek after assignment.
*/
void onPartitionsAssigned(Map<TopicPartition, Long> assignments, ConsumerSeekCallback callback);

它是从 KafkaMessageListenerContainer.seekPartitions(Collection<TopicPartition> partitions, boolean idle) 调用的。 ,而这又来自 ConsumerRebalanceListener.onPartitionsAssigned()内部实现。最后一个有这个JavaDocs:
 * A callback method the user can implement to provide handling of customized offsets on completion of a successful
* partition re-assignment. This method will be called after an offset re-assignment completes and before the
* consumer starts fetching data.

所以,是的, ConsumerSeekAware.onPartitionsAssigned()在重新平衡期间总是调用。顺便说一句,Apache Kafka 没有像 initializing 这样的状态。 .总是 rebalancing - 代理处于等待状态,并在有新消费者加入时开始重新平衡。

关于spring-boot - Spring kafka,ConsumerSeekAware接口(interface),再平衡时是否调用onPartitionsAssigned方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48981743/

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