Паттерны отказоустойчивости помогают поддерживать стабильность систем в условиях нестабильной сети. Основные подходы включают Retry, Deadline, Rate Limiter и Circuit Breaker для обработки сбоев и нагрузки.

Механизм Retry применяется только для временных ошибок. Чтобы избежать «шторма повторов», используется экспоненциальная задержка и джиттер, которые распределяют запросы во времени и снижают нагрузку на сервис.

Deadline предотвращает бесконечное ожидание ответа через установку таймаутов, например 500 мс. При превышении лимита контекст отменяет запрос, возвращая ошибку и освобождая ресурсы вызывающей стороны.

Rate Limiter защищает систему от перегрузки. Метод «ведра с токенами» эффективнее фиксированных окон, так как позволяет сглаживать всплески трафика. Для распределенных систем счетчики выносят в Redis.

Circuit Breaker прекращает запросы к неисправному сервису, давая ему время на восстановление. Паттерн переключается между состояниями closed, open и half-open, реагируя только на инфраструктурные сбои.