Отказоустойчивость

Отказоустойчивость — способность системы продолжать работу при сбоях компонентов. Критично для лицензированных операторов.

Redundancy на всех уровнях

N+1: один запасной компонент. 2N: полное дублирование. Application: минимум 3 инстанса за балансировщиком. Database: primary + 2 replicas. Storage: RAID + backup. Network: multiple carriers. Data center: multi-AZ deployment.

Failure modes

Fail-fast: быстрое обнаружение и re-routing. Circuit breaker: временное отключение проблемного сервиса. Graceful degradation: отключение неключевых функций при перегрузке. Bulkhead: изоляция ресурсов между функциями. Retry with backoff: обработка transient failures.

Health checks

Liveness: жив ли процесс. Readiness: готов ли принимать трафик. Deep health checks: проверка зависимостей (БД, кэш, upstream API). Auto-remove unhealthy instances из пула. Kubernetes probes — стандарт де-факто.

Chaos engineering

Netflix Chaos Monkey: случайное отключение инстансов в prod. Gremlin: платформа chaos-experiments. Game days: плановые учения по восстановлению. Резюме: система, не проверенная на сбои, не отказоустойчива.