Kafka使用者需要时间来识别新分区

问题描述 投票:0回答:1

我正在运行一个测试,kafka消费者正在从一个主题的多个分区读取数据。在进程运行时,我添加了更多分区。使用者线程从新分区读取数据大约花费了5分钟。我发现此配置为“ topic.metadata.refresh.interval.ms”,但这仅适用于生产者。消费者也有类似的配置吗?

apache-kafka kafka-consumer-api
1个回答
1
投票

当我们向现有主题添加更多分区时,便开始了重新平衡过程。

消费者组中的每个消费者都被专门分配一个或多个主题分区,而重新平衡是在消费者之间重新分配分区所有权。

发生重新平衡的情况是:

  1. 消费者加入小组
  2. 消费者请彻底关机
  3. 消费者被小组协调员视为DEAD。这可能会在崩溃或当消费者忙于长时间运行的处理时,这意味着消费者在此期间未向其发送任何心跳信号配置的会话间隔内的组协调器
  4. new partitions are added

我们需要提供两个参数来减少重新平衡的时间。

request.timeout.ms

max.poll.interval.ms

以下提供更多详细信息。

https://medium.com/streamthoughts/apache-kafka-rebalance-protocol-or-the-magic-behind-your-streams-applications-e94baf68e4f2

© www.soinside.com 2019 - 2024. All rights reserved.