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

Senior
279 просмотров
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 для координации горутин.

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

Задача: реализуйте rate limiter через буферизованный канал