Повторное подключение потребителей Kafka после отключения - PullRequest
4 голосов
/ 01 мая 2019

Мой проект настроен с использованием Spring Boot и Spring Kafka, и есть три потребителя.Проверяя журналы, я вижу, что время от времени потребители отключаются:

catalina.out:2019-04-27 02:19:57.962  INFO 18245 --- [ntainer#2-0-C-1] o.a.kafka.clients.FetchSessionHandler    : [Consumer clientId=consumer-2, groupId=FalconDataRiver1] Error sending fetch request (sessionId=1338157432, epoch=205630) to node 101: org.apache.kafka.common.errors.DisconnectException.
catalina.out:2019-04-27 02:19:57.962  INFO 18245 --- [ntainer#4-0-C-1] o.a.kafka.clients.FetchSessionHandler    : [Consumer clientId=consumer-6, groupId=FalconDataRiver1] Error sending fetch request (sessionId=727942178, epoch=234691) to node 101: org.apache.kafka.common.errors.DisconnectException.
catalina.out:2019-04-27 02:19:57.962  INFO 18245 --- [ntainer#0-0-C-1] o.a.kafka.clients.FetchSessionHandler    : [Consumer clientId=consumer-10, groupId=FalconDataRiver1] Error sending fetch request (sessionId=836405004, epoch=234351) to node 101: org.apache.kafka.common.errors.DisconnectException.
catalina.out:2019-04-27 02:19:58.023  INFO 18245 --- [ntainer#1-0-C-1] o.a.kafka.clients.FetchSessionHandler    : [Consumer clientId=consumer-12, groupId=FalconDataRiver1] Error sending fetch request (sessionId=1385585601, epoch=234394) to node 101: org.apache.kafka.common.errors.DisconnectException.
catalina.out:2019-04-27 02:19:58.023  INFO 18245 --- [ntainer#3-0-C-1] o.a.kafka.clients.FetchSessionHandler    : [Consumer clientId=consumer-4, groupId=FalconDataRiver1] Error sending fetch request (sessionId=452630289, epoch=201944) to node 101: org.apache.kafka.common.errors.DisconnectException.
catalina.out:2019-04-27 02:19:58.023  INFO 18245 --- [ntainer#5-0-C-1] o.a.kafka.clients.FetchSessionHandler    : [Consumer clientId=consumer-8, groupId=FalconDataRiver1] Error sending fetch request (sessionId=78802572, epoch=103) to node 101: org.apache.kafka.common.errors.DisconnectException.
catalina.out:2019-04-27 02:19:58.040  INFO 18245 --- [ntainer#2-0-C-1] o.a.kafka.clients.FetchSessionHandler    : [Consumer clientId=consumer-2, groupId=FalconDataRiver1] Error sending fetch request (sessionId=1338157432, epoch=INITIAL) to node 101: org.apache.kafka.common.errors.DisconnectException.

Я не настроил потребителей с точки зрения повторного подключения.Я знаю, что из документации Kafka есть два свойства:

reconnect.backoff.ms - максимальное время ожидания в миллисекундах при повторном подключении к брокеру, который неоднократно не мог подключиться.Если это предусмотрено, откат на хост будет экспоненциально увеличиваться при каждом последующем сбое соединения, вплоть до этого максимума.После расчета увеличения отсрочки добавляется 20% случайный джиттер, чтобы избежать штормов соединения.Значение по умолчанию 1000 миллисекунд)

reconnect.backoff.ms - базовое время ожидания перед попыткой повторного подключения к данному хосту.Это позволяет избежать повторного подключения к узлу в тесной петле.Этот откат применяется ко всем попыткам подключения клиента к брокеру.Значение по умолчанию 50 миллисекунд)

Я вижу, что три потребителя все еще потребляют после вышеупомянутых сообщений регистрации.Очевидно, они оправились от этих исключений разъединения.Что меня беспокоит, так это то, что в журналах ничего не записывается процесс повторного подключения и восстановления.

Я что-то здесь упускаю?Спасибо!

1 Ответ

3 голосов
/ 01 мая 2019

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

Переключите уровень журнала на DEBUG на случай, если вы хотите получить больше информации о причинах этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...