Что такое Retry Pattern
Повторные попытки при сбоях
Retry Pattern — паттерн проектирования для обработки временных сбоев путём автоматического повторения неудачных операций.
Когда использовать
- Временные сетевые ошибки
- Таймауты при вызове внешних сервисов
- Ошибки подключения к базе данных
- Перегрузка API (429 Too Many Requests)
- Кратковременная недоступность сервисов
Стратегии повторов
- Немедленный повтор — без задержки
- Фиксированная задержка — одинаковые интервалы
- Линейная задержка — увеличение на константу
- Экспоненциальная задержка — удвоение времени
- Jitter — добавление случайности
Ключевые параметры
- Максимальное количество попыток
- Начальная задержка
- Максимальная задержка
- Коэффициент увеличения
- Список ретраебельных ошибок
Лучшие практики
- Логировать все повторные попытки
- Использовать Circuit Breaker совместно
- Ограничивать количество попыток
- Добавлять jitter для распределения нагрузки
- Учитывать идемпотентность операций