Как эффективно использовать внешний API? - PullRequest
1 голос
/ 09 января 2020

У меня есть ситуация, когда я создаю приложение, которое получает информацию из внешнего API. Трафик c в приложении будет высоким, но внешний API имеет не очень хорошую архитектуру и не может обрабатывать слишком много запросов.

В приложении есть персонализированные данные, которые доставляются из API, что означает, что через API должно быть выполнено много запросов, поэтому мне нужно ограничить количество запросов, чтобы не отменить его.

На данный момент у меня есть следующие идеи:

  • По возможности объединяйте несколько запросов в один
  • Информация о кэше, к которой часто обращаются (я не знаю точно, как это сделать, я просто знаю концепцию)
  • Создание ограничения программного обеспечения для количество запросов, сделанных за определенный период времени

Есть мысли? Любая идея приветствуется, а также более подробная информация, которая может уточнить / исправить мои собственные идеи.

1 Ответ

0 голосов
/ 09 января 2020

Если он не меняется часто (я имею в виду не каждую секунду), вы можете создать кеш-сервер, который сохраняет результаты каждого запроса. Таким образом, первый запрос с некоторыми указанными c параметрами будет go к API вашего клиента, а в следующий раз вы предоставите материал только из chache. Вы можете запустить кеш с небольшого сканирования, а также запустить скрипт для обновления кеша, когда у вас низкий трафик c. Я полагаю? (Определение частых запросов - это проверка параметров вашего запроса.) Например, вы можете кэшировать данные с помощью redis. Это хранилище значений ключей в памяти

Кроме того, если вы рендерите данные на стороне клиента, вы можете запускать свои запросы из внешнего интерфейса по требованию через graphqlserver, Apollo упаковывает ваше дерьмо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...