Отказоустойчивость
Отказоустойчивость — способность системы продолжать работу при сбоях компонентов. Критично для лицензированных операторов.
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: плановые учения по восстановлению. Резюме: система, не проверенная на сбои, не отказоустойчива.