@lookingfor2

Достоверно известно, что некоторый API периодически отваливается по таймауту или с 5хх ошибкой, как решить?

Достоверно известно, что некоторый API периодически отваливается по таймауту или с 5хх ошибкой. Аналогов нет, заменить данный сервис нечем. Использование этого API критически важно для асинхронных задач внутри приложения. Что будем делать? Какие библиотеки и паттерны будем использовать чтобы минимизировать потери и повысить стабильность приложения?
  • Вопрос задан
  • 5825 просмотров
Решения вопроса 3
@d-sem
1) Кешировать на стороне приложения, что возможно. Тут все сильно зависит от того какое это API и характер работы с ним. В вопросе это не указано.

2) При обращении к API учитывать таймаут или 500 ошибку. Повторять до успеха или признания поражения. Если на API много бекендов можно попробовать слать параллельные запросы в стиле промисов.
Ответ написан
Комментировать
2ord
@2ord
Если критически важная служба недоступна, то остаётся ещё вариант использовать fallback-службу. Или же брать закэшированные данные (возможно, устаревшие), как указал d-sem.
Вот тут про шаблоны:
https://docs.microsoft.com/ru-ru/azure/architectur...
Ответ написан
Комментировать
dmitriylanets
@dmitriylanets
веб-разработчик
обработать ответ 500 ,подождать несколько секунд и попробовать снова, итак N попыток
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы