Как остановить обработку проблемной записи, опрошенной из kafka, которая вызывает перезапуск модуля k8s - PullRequest
0 голосов
/ 16 мая 2019

Каким будет лучший дизайн / решение для обнаружения проблемного сообщения, опрошенного в теме Kafka, которое приводит к сбою и повторному запуску микросервиса? Он будет постоянно падать и перезапускаться, потому что смещение потребителя запоминается сразу после успешной обработки сообщения. В случае ошибки смещение не будет зафиксировано, поэтому при сбое и перезапуске модуля микросервис будет продолжать использовать тот же проблемный. Например для OutOfMemoryError. Сохранение состояния может быть решением, но тогда все микросервисы должны быть с состоянием, и его необходимо впоследствии сохранять и удалять для любого сообщения, так как нет шансов на перехват OutOfMemory. Я не могу сохранить номер повтора сообщения в самом сообщении. Мне нужно хранить это вне сообщения. Интересно узнать лучшие практики для этого? Спасибо.

1 Ответ

0 голосов
/ 16 мая 2019

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

...