Ограничьте число попыток и общий retry-budget, используйте backoff с jitter, различайте временные и постоянные ошибки и снижайте нагрузку на недоступную зависимость.
Как избежать retry storm при проблемах в Kafka-обработке?
Ограничьте число попыток и общий 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 должен сохранять выбранные гарантии доставки.