Почему Kafka Consumer повторно обработал все записи за последние 2 месяца? - PullRequest
0 голосов
/ 10 июля 2020

В одном из случаев, когда служба потребителя была перезапущена, это приводит к повторной обработке всех записей, которые были отправлены в 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)

I Я создаю темы во время выполнения на стороне потребителя с помощью beans NewTopic(topic_name, 1, (**short**)1)

Работают 2 кластера Kafka и 1 экземпляр zookeeper.

Любая помощь будет принята с благодарностью

1 Ответ

0 голосов
/ 10 июля 2020

Этот брокер очень старый; если потребитель не получает записей в течение 24 часов, смещения были удалены, и перезапуск потребителя заставил бы его повторно обработать все записи. на 7 дней для снятия смещений.

Spring Boot 1.4.x (и даже 1.5.x, 2.0.x) больше не поддерживается; текущая версия - 2.3.1.

Вам следует перейти на более новый брокер и более свежую версию Spring Boot.

...