Управление ошибками в Spring Cloud Stream с помощью Kafka Stream - PullRequest
0 голосов
/ 23 октября 2018

Для проекта я использую Spring Cloud Stream с Kafka в качестве связующего для нескольких приложений Spring Boot, использующих поток Kafka (KStream).Цель - создать конвейер загрузочных приложений Spring в Spring Cloud Data Flow.Я хотел бы знать, как лучше всего управлять исключениями, возникающими во время потока, потому что неперехваченное исключение останавливает поток Kafka и загрузочное приложение Spring.Я бы предпочел перенаправить сообщение, вызывающее исключение, в очередь недоставленных сообщений.

Если я заменю Spring Cloud Stream на Spring Integration, у меня есть концепция канала ошибок, но Кафка очень хорошо справляется с масштабированием, поэтому яне уверен, что это хорошее решение.

В документе Spring Cloud Stream doc есть пример с компонентом DLQ и исключением try / catch, которое отправляет ему сообщение с использованием низкого уровня.API уровня процессора потока Кафки.Я попробовал аналогичный подход с веткой в ​​моем Kafka Stream со вторым выходом в DLQ.Разделение производится по типу объекта, и я возвращаю другой объект в секции catch.

Какое лучшее решение для обработки исключений без остановки потока Кафки?Хорошо ли решение для ветвления?Любая информация о новом управлении ошибками Kafka / Spring Cloud Stream в ближайшем будущем?

Спасибо!

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