我已将自动提交间隔设置为5秒。如果poll()方法需要10秒才能完成处理。
它是否仍会每5秒提交一次,或者等到下一次轮询()?
由于
答案 0 :(得分:1)
即使您将auto.commit.interval.ms
设置为5秒,也无法保证每5秒钟提交一次。从技术上讲,我同意你对waits until the next poll
的陈述。
首先在单poll
轮中检查处理偏移提交。实际上,轮询协调器事件是KafkaConsumer#poll
最开始的事情,包括确保协调员的活力,消费者成功加入团队以及处理自动提交偏移事件。在此检查期间,协调员决定是否应提交抵消。并且它是在调用poll
的同一个线程内执行的,因此无法实现精确的5秒间隔,直到下一个轮询协调器不处理这些事情。