Kafka Consumer не использует с последнего зафиксированного смещения после перезапуска

У меня есть опрос потребителей из подписанной темы. Он потребляет каждое сообщение и выполняет некоторую обработку (в течение нескольких секунд), переходит к другой теме и фиксирует смещение.

Всего 5000 сообщений,

перед перезапуском - израсходовано 2900 сообщений и зафиксировано смещение

после перезапуска - начал потреблять со смещения 0.

Несмотря на то, что потребитель создан с той же группой потребителей, он начал обработку сообщений со смещения 0.

версия кафки (стримзи) ›2.0.0 kafka-python == 2.0.1


person krishna reddy    schedule 02.10.2020    source источник
comment
Можете ли вы показать, что смещения действительно были зафиксированы, показав результат работы инструмента командной строки kafka-consumer-groups.sh для вашей ConsumerGroup? Как вы совершаете зачет? Почему вы израсходовали всего 2900 сообщений?   -  person mike    schedule 02.10.2020


Ответы (1)


Мы не знаем, сколько разделов у вас есть в вашей теме, но когда потребители создаются в одной группе потребителей, они будут потреблять записи из разных разделов (у нас не может быть двух потребителей в группе потребителей. которые потребляют из того же раздела, и если вы добавите потребителя, координатор группы выполнит процесс повторной балансировки, чтобы переназначить каждого потребителя определенному разделу).

Я думаю, что смещение 0 происходит от свойства auto.offset.reset, которое может быть:

  • latest: Начать с последнего смещения в журнале
  • earliest: Начните с самой ранней записи.
  • none: генерировать исключение, если данные смещения отсутствуют.

Но это свойство срабатывает только в том случае, если ваша группа потребителей не имеет допустимого смещения.

Примечание. Записи в теме имеют свойство срок хранения log.retention.ms, поэтому ваши последние сообщения могут быть удалены, когда вы обрабатываете первые записи в журнале.

Вопросы. Если вы хотите получать сообщения из одной темы, обрабатывать данные и записывать их в другую тему, почему вы не использовали Kafka Streaming?

person nael.fridhi    schedule 02.10.2020