Производителю требуется больше времени, чтобы выбросить исключение в случае отказа брокера kafka

Я хочу обработать случай, если Kafka Broker не работает на конце Kafka Producer, тогда потребуется больше времени, чтобы показать ошибку ниже.

Не удалось отправить; вложенное исключение - org.apache.kafka.common.errors.TimeoutException: истекает срок действия 1 записи для ведения журнала-0: с момента создания пакета прошло 30030 мс, плюс время задержки

Как с этим справиться?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
476
1

Ответы 1

Производитель ждет request.timeout.ms ответа от брокера.

The configuration controls the maximum amount of time the client will wait for the response of a request. If the response is not received before the timeout elapses the client will resend the request if necessary or fail the request if retries are exhausted. This should be larger than replica.lag.time.max.ms (a broker configuration) to reduce the possibility of message duplication due to unnecessary producer retries.

По умолчанию установлено значение 30000 мс. Будьте осторожны, если вы попытаетесь уменьшить его, как если бы он был слишком коротким, это может привести к слишком быстрой повторной попытке производителя и созданию дубликатов.

Я не могу найти replica.lag.time.max.ms в server.properties, не могли бы вы рассказать, как это настроить в брокере

Abhishek Mittal 11.04.2018 12:49

См. В документации по настройке брокера: kafka.apache.org/documentation/#brokerconfigs

Mickael Maison 11.04.2018 13:35

Также см. max.block.msв этом ответе, который может повлиять на получение метаданных при первом запуске приложения и отключении брокера.

Gary Russell 11.04.2018 15:41

Другие вопросы по теме