Какие ошибки внешнего API стоит ретраить, а какие нет? Как отличить сетевые ошибки?

Повторяют временные сбои только с учётом идемпотентности: timeout, часть сетевых ошибок, 429 и некоторые 5xx. Ошибки данных, прав и постоянной конфигурации обычно требуют исправления.

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

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

Повторяют временные сбои только с учётом идемпотентности: timeout, часть сетевых ошибок, 429 и некоторые 5xx. Ошибки данных, прав и постоянной конфигурации обычно требуют исправления.

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

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

Повторяют временные сбои только с учётом идемпотентности: timeout, часть сетевых ошибок, 429 и некоторые 5xx. Ошибки данных, прав и постоянной конфигурации обычно требуют исправления.

Сетевая ошибка может произойти до подключения, во время TLS или после отправки запроса. Последний случай оставляет результат операции неизвестным, поэтому слепой повтор POST опасен. Используйте типы исключений HTTP-клиента, а не поиск слов в сообщении. Для retry задайте общий deadline, ограничение попыток, exponential backoff с jitter и учёт Retry-After. Не все 5xx временные, а 409 может требовать проверки состояния. Логи должны сохранять технический контекст без токенов и тела с персональными данными.

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

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

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

Подробнее