Kafka Auto Commit и текущее поведение опросаJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Kafka Auto Commit и текущее поведение опроса

Сообщение Anonymous »

Я пытаюсь понять поведение, которое меня немного сбивает с толку. Мы используем Spring boot и подход KafkaListener для потребителей. В конфигурации для автоматической фиксации установлено значение true с интервалом по умолчанию 5 секунд.
Согласно документации, при включенной автоматической фиксации Kafka фиксация происходит автоматически каждые 5 секунд в фоновом режиме.
У нас есть потребитель, который опрашивает сообщения и обрабатывает их примерно за 100 миллисекунд. Таким образом, в течение 5-секундного интервала будет произведено около 50 опросов сообщений. Когда все работает нормально, я не вижу никаких проблем. Есть несколько сценариев, которые я пытаюсь понять:
  • Мы продолжаем опрашивать сообщения и говорим: «Опрошено» в течение 4,5 секунд, а модуль выходит из строя в середине обработки опросенного пакета, прежде чем будет достигнут 5-секундный интервал автоматической фиксации. Теоретически это должно повторно обработать все сообщения с момента последней фиксации 4,5 секунды назад, но повторно обрабатывается только опрошенный пакет, который не завершился успешно. Означает ли это, что в фоновом режиме происходит какая-то инкрементная фиксация, и только текущий незавершенный пакет не включается в смещение фиксации?
  • Скажем, у меня есть опросный пакет, который занимает больше времени, чем интервал автоматической фиксации. Я вызвал явный сон слушателя на 10 секунд. Согласно документам, это означает, что пакет должен быть автоматически зафиксирован, поэтому, если пакет завершится сбоем после обработки, он будет зафиксирован по истечении интервала. Однако, когда я пытаюсь воспроизвести это, явно принудительно убив модуль, сообщения были повторно обработаны/переизданы как часть следующего опроса. Согласно пункту 1 выше, может быть, фоновый процесс не включает текущий пакет, поскольку он еще не завершен?
Есть ли объяснение такому поведению? Мое предположение кажется разумным, но я хочу быть уверенным, что именно это и происходит. Заранее спасибо!

Подробнее здесь: https://stackoverflow.com/questions/797 ... l-behavior
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»