Как проектировать fault-tolerant систему?

Senior
301 просмотров
AFK Offer AI

Fault-tolerant система продолжает работать при сбоях компонентов. Принципы: redundancy (каждый компонент дублирован), graceful degradation (при сбое части — работаем с ограничениями, а не падаем), isolation (сбой в одном модуле не ломает остальные). Практика: health checks + auto-restart, circuit breaker на внешние зависимости, retry с backoff, timeouts на всё, кэш как fallback, очереди для буферизации при пиках. В Go: context propagation, graceful shutdown через signal.Notify, errgroup для координации горутин.

Следующий вопрос

Как найти memory leak в production?