当记录处理花费超过“ max.poll.interval.ms”时,抵消提交会发生什么?

时间:2020-02-24 02:29:16

标签: apache-kafka

我低于消费者设置。

auto.offset.reset=earliest
enable.auto.commit=true (default value)
session.timeout.ms=10000 (default value)
max.poll.interval.ms= 300000 (default value)

使用上面的配置,假设我收到一条消息,并且由于DB调用时存在一些网络延迟,因此处理花费了300100毫秒。现在我有两个问题

  1. 消费者是否能够正确地提交偏移量,还是因为它无法在“ max.poll.interval.ms”内处理记录而被视为已失效并从组中删除?
  2. 如果消费者被视为已死且已提交偏移量,那么下一次民意调查会再次选择该偏移量进行处理吗?

1 个答案:

答案 0 :(得分:0)

消费者在不提交以前的补偿的情况下永远不会前进

如果您的代码花费的时间更长,则将出现一条日志消息,指出这样的情况,消费群体将重新平衡

FWIW,如果您要进行数据库查找,那么您的想法是将数据库事件拖到主题/ KTable中,然后根据该数据进行联接