分布式消息服务Kafka

消费位点提交

2024-05-08 08:56:50

Kafka 消费者有两个相关参数:

(1)enable.auto.commit:默认值为 true。

(2)auto.commit.interval.ms: 默认值为 1000,也即 1s。

这两个参数组合的结果就是,每次 poll 数据前会先检查上次提交位点的时间,如果距离当前时间已经超过参数auto.commit.interval.ms规定的时长,则客户端会启动位点提交动作。

因此,如果将enable.auto.commit设置为 true,则需要在每次 poll 数据时,确保前一次 poll 出来的数据已经消费完毕,否则可能导致位点跳跃。

如果想自己控制位点提交,请把 enable.auto.commit 设为 false,并调用 commit(offsets)函数自行控制位点提交。


4xQs6vbcVcDg