21 / 25 · §15

Resilience: сеть ненадёжна

Отказы — норма. Хорошая система грамотно переживает их.

Схема: Resilience: сеть ненадёжна
Нажми на схему, чтобы открыть в полном размере.

Главное

  • Timeout → Retry (backoff + jitter) → Circuit breaker — правильная цепочка защиты.
  • Circuit breaker: Closed → Open (вызовы блокируются) → Half-open (пробуем снова).
  • Idempotency — повтор запроса не должен ломать данные (ключ идемпотентности).
  • Bulkhead — изолируй ресурсы, чтобы падение одного сервиса не утянуло остальные.
  • Graceful degradation — падает часть функций, ядро работает.

Без breaker — каскад

Payment тормозит 600ms → ретраи множатся → очередь растёт → падает всё
С breaker: быстро отказываем → fallback → система жива

Ретраи без лимитов

Бездумные повторы усиливают проблему. Всегда: таймаут, backoff с jitter и breaker.