При отказе внешнего сервиса нужны ограниченные таймауты, контролируемые повторы и понятный деградированный результат. Поведение зависит от критичности зависимости.
Что происходило, когда внешний сервис был недоступен?
При отказе внешнего сервиса нужны ограниченные таймауты, контролируемые повторы и понятный деградированный результат. Поведение зависит от критичности зависимости.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
При отказе внешнего сервиса нужны ограниченные таймауты, контролируемые повторы и понятный деградированный результат. Поведение зависит от критичности зависимости.
Для необязательной функции можно вернуть кэш или частичный ответ, явно обозначив ограничение. Для обязательной операции — корректную ошибку либо отложенное выполнение, если это допускает бизнес-процесс. Circuit breaker и ограничение конкурентности помогают не перегрузить зависимость. Не повторяйте неидемпотентные записи вслепую и не маскируйте отсутствие результата ложным успехом.