Kafka Streams Retry PAPI и мертвое письмо - PullRequest
0 голосов
/ 26 мая 2020

Я пытаюсь реализовать logi c повторных попыток в топологии процессора потоков kafka в случае возникновения исключения в топологии приемника c.

  1. Я использую настраиваемый ProductionExceptionHandler, чтобы иметь возможность перехватывать исключение, которое происходит при "producter.send" в приемник topi c при context.forward

  2. Какие критерии я должен использовать, чтобы иметь возможность повторно отправить сообщение альтернативному приемнику topi c, если было отправлено исключение в исходный приемник topi c. Может ли это быть выведено из типа исключения в обработчике исключения производителя без ущерба для транзакционной природы внутреннего производителя в потоках Kafka.

  3. Если мы решим создать очередь недоставленных сообщений из производственного исключения обработчик некоторых неисправимых ошибок, может ли это быть сделано в контексте гарантии «EOS», или это должен быть пользовательский производитель, неизвестный топологии.

1 Ответ

0 голосов
/ 03 июня 2020

Kafka Streams не имеет встроенной поддержки очереди недоставленных сообщений. Следовательно, вы «сами по себе» можете реализовать это.

Какие критерии я должен использовать, чтобы иметь возможность повторно отправить сообщение альтернативному приемнику topi c, если было отправлено исключение в исходный приемник топи c.

Не уверены, что вы имеете в виду? Можете ли вы уточнить?

Может ли это быть выведено из типа исключения в обработчике исключений производителя

Также не уверен в этой части.

без ущерба для транзакционной природы внутреннего производителя в потоках Kafka.

Это невозможно. У вас нет доступа к внутреннему производителю.

Если мы решим создать очередь недоставленных сообщений из производственного обработчика исключений в некоторых неустранимых ошибках, может ли это быть сделано в контексте гарантии «EOS» или это должен быть заказной производитель, не известный в топологии.

Вам нужно будет поддерживать своего собственного продюсера, поэтому он выходит за рамки EOS.

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