System Design middle
Кейс: сеть «моргнула» на 2 секунды. Что делать?
Ответ
Retry с exponential backoff + jitter (не все клиенты ретраят одновременно). Circuit Breaker: после N ошибок → OPEN (не шлём запросы) → HALF_OPEN (тестовый) → CLOSED. Idempotency-Key: чтобы retry не создал дубль.
Разбор: Кратковременный сбой переживается комбинацией retry с экспоненциальной задержкой и jitter (чтобы клиенты не ретраили синхронно), Circuit Breaker (OPEN/HALF_OPEN/CLOSED) и Idempotency-Key, который как раз и защищает повторную попытку от создания дубля. Просто раздувать таймауты — значит держать ресурсы занятыми и ухудшать latency; retry без backoff устраивает шторм запросов; fire-and-forget теряет данные и не годится для операций, требующих подтверждения.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.