Как избежать retry storm при проблемах в Kafka-обработке?

Ограничьте число попыток и общий retry-budget, используйте backoff с jitter, различайте временные и постоянные ошибки и снижайте нагрузку на недоступную зависимость.

Короткий ответ

Что ответить на собеседовании

Ограничьте число попыток и общий retry-budget, используйте backoff с jitter, различайте временные и постоянные ошибки и снижайте нагрузку на недоступную зависимость.

Подробный разбор

Ответ с пояснениями

Ограничьте число попыток и общий retry-budget, используйте backoff с jitter, различайте временные и постоянные ошибки и снижайте нагрузку на недоступную зависимость.

Повторять malformed-сообщение бесконечно бессмысленно: после оговорённого лимита отправьте его в DLT с причиной. Для временных сбоев возможны pause partition или retry topics, но последние меняют порядок обработки. Не блокируйте poll настолько, чтобы провоцировать новые rebalance; отслеживайте lag и доступность downstream. Circuit breaker и общий concurrency/rate limit защищают сервис лучше, чем отдельный retry в каждом слое. Commit offset должен сохранять выбранные гарантии доставки.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее