Kafka10 auto.commit.interval.ms属性

时间:2017-05-15 14:56:16

标签: apache-kafka kafka-consumer-api

我已将自动提交间隔设置为5秒。如果poll()方法需要10秒才能完成处理。

它是否仍会每5秒提交一次,或者等到下一次轮询()?

由于

1 个答案:

答案 0 :(得分:1)

即使您将auto.commit.interval.ms设置为5秒,也无法保证每5秒钟提交一次。从技术上讲,我同意你对waits until the next poll的陈述。

首先在单poll轮中检查处理偏移提交。实际上,轮询协调器事件是KafkaConsumer#poll最开始的事情,包括确保协调员的活力,消费者成功加入团队以及处理自动提交偏移事件。在此检查期间,协调员决定是否应提交抵消。并且它是在调用poll的同一个线程内执行的,因此无法实现精确的5秒间隔,直到下一个轮询协调器不处理这些事情。