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