为什么骆驼卡夫卡在消费者平衡后会等待一段时间

时间:2018-12-06 09:01:27

标签: apache-kafka apache-camel kafka-consumer-api

通过骆驼的卡夫卡消费者代码,可以看到在KafkaFetchRecords中有以下代码:

if (!first) {
       // skip one poll timeout before trying again
       long delay = endpoint.getConfiguration().getPollTimeoutMs();
       log.info("Reconnecting {} to topic {} after {} ms", threadId, topicName, delay);
       try {
            Thread.sleep(delay);
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt();
                    }
            }

此延迟的默认值为5秒。我试图理解为什么需要这样做,如果我将其减少到1秒,是否还会有任何问题。据我了解,5秒似乎是很多时间,这将是所有处理的完全停止。

参考文件:https://github.com/apache/camel/blob/master/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConsumer.java

行号:198

0 个答案:

没有答案