为什么卡夫卡消费者重新处理了过去两个月以来的所有记录



在其中一个实例中,当消费者服务重新启动时,会导致重新处理发送给Kafka的所有记录。

Kafka Broker: 0.10.0.1
Kafka producer Service: Springboot version 1.4.3.Release
Kafka Consumer Springboot Service: Springboot version 2.2.0.Release

现在为了调查这个问题,我想在dev/local环境中再次创建这个场景,但这并没有发生!!!

可能的原因是什么?

如何检查,当我们发送Acknowledgement.acknowledge();时,是否从消费者端处理了一次记录

消费者-属性

Enable Auto commit = false;
Auto offset Reset = earliest;
max poll records = 1;
max poll interval ms config = I am calculating the value of this parameter at runtime from the formula ==>> (number_of_retries * x * 2) <= INTEGER.MaxValue

重试策略-简单

number of retries = 3;
interval between retries = x (millis)

我正在运行时通过beansNewTopic(topic_name, 1, (**short**)1)在消费者端创建Topics

有2个Kafka集群和1个zookeeper实例正在运行。

如有任何帮助,将不胜感激

那个经纪人很老了;如果使用者在24小时内没有收到任何记录,则会删除偏移,重新启动使用者将导致它重新处理所有记录。

对于较新的经纪人,它被更改为7天,消费者必须停止7天才能取消抵消。

不再支持Spring Boot 1.4.x(甚至1.5.x、2.0.x(;当前版本为2.3.1。

您应该升级到较新的broker和更新的Spring Boot版本。

最新更新