KafkaTopicProvisioner не удалось получить раздел - PullRequest
0 голосов
/ 22 января 2020

Я заметил, что мои сервисы снижаются, за исключением следующего. Причина была в том, что один из трех наших брокеров Kafka потерпел неудачу. И весна всегда пыталась связаться с одним и тем же брокером. Прежде чем он сможет пропустить неисправного посредника и подключиться к следующему доступному посреднику, Kubernetes перезапускает модуль (из-за сбоя датчика живучести, настроенного на 60 секунд). Из-за перезапуска в следующий раз он также пытается подключиться к тому же первому неисправному посреднику, и поэтому модуль никогда не запускается.

Как мы можем настроить Spring так, чтобы он не ожидал более 10 секунд неисправного посредника?

Я нашел cloud.stream.binder.healthTimeout свойство, но не уверен, что это правильно. Как я могу воспроизвести проблему на моем локальном компьютере.

Версия Kafka: 2.2.1

{«отметка времени»: «2020-01-21T17: 16: 47.598Z», « level »:« ERROR »,« thread »:« main »,« logger »:« org.springframework.cloud.stream.binder.kafka.provisioning.KafkaTopicProvisioner »,« message »:« Не удалось получить информацию о разделе »,« контекст »:« по умолчанию »,« исключение »:« org. apache .kafka.common.errors.TimeoutException: не удалось обновить метаданные через 60000 мс. \ n »}

...