Kafka10 auto.commit.interval.ms 属性

Kafka10 auto.commit.interval.ms property

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

它仍然会每 5 秒提交一次还是等到下一次 poll()?

谢谢

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

的陈述

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