【问题标题】:Kafka10 auto.commit.interval.ms propertyKafka10 auto.commit.interval.ms 属性
【发布时间】:2017-05-16 09:04:57
【问题描述】:

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

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

谢谢

【问题讨论】:

    标签: apache-kafka kafka-consumer-api


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2017-10-14
      • 2016-11-08
      • 1970-01-01
      • 2012-07-19
      • 2014-03-05
      • 2010-09-17
      • 1970-01-01
      • 2018-08-18
      • 2018-07-17
      相关资源
      最近更新 更多