Кафка Продюсер Попытки попытки - PullRequest
0 голосов
/ 16 апреля 2020

Я новичок в КАФКА. Мне было поручено выполнить простую задачу, чтобы дать возможность производителю повторить попытку при неудачной отправке. Мы уже добавили обратный вызов производителя kafka для этого метода send (), который просто регистрирует ответ (до введения повторных попыток).

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

Я сделал следующее.

  1. retries = 5
  2. retry.backoff.ms = 35000 (Установите это с предположением, что этот интервал повторения должен быть больше чем request.timeout.ms (30000 мс) - хотя и не уверен в этом)
  3. попытался дать брокеру, который не работает, - сбой при отправке производителем send (), так что я могу проверить, работает ли конфигурация повторных попыток [max .in.flight.requests.per.connection не установлен в 1, так как порядок для нас не важен.]

Я хотел бы знать следующее,

  1. Кафка каким-либо образом регистрирует попытку повторных попыток? - Пример: ведение журнала во время каждой попытки, например, «повторная попытка ...», или в конце всех повторных попыток, например, «не удалось после n повторных попыток»
  2. Я получаю ошибки, подобные этим, которые постоянно говорят за n количество раз. Я запутался, если это попытка повторной попытки, которую я настроил. Если это так, то почему оно превышает 5 раз? Или это совершенно не связано с попытками производителя?

    [kafka-seller-network-thread | производитель-1] ПРЕДУПРЕЖДЕНИЕ o. apache .kafka.clients.NetworkClient: брокеры могут быть недоступны

Детали проекта:

  1. Gradle project
  2. kafka-clients-0.11.0.0

И, пожалуйста, не обращайте внимания на этот тип неопределенного вопроса. Я не могу предоставить полную информацию из-за политики компании, и я не смогу скопировать и вставить ошибки, так как этот сайт недоступен на виртуальной машине моей компании.

...