Как повысить скорость выполнения запроса к api?

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

Для выполнения данного условия, запрос из мобильного приложения сначала отправляем на наш хостинг с допущенным айпи-адресом, дальше скриптом делаем запрос в апи и только потом оттуда обратно в приложение. В итоге данные загружаются очень долго.

Вопрос - насколько сильно влияет на данную операцию мощность хостинга? Можно ли как то эффективней реализовать связку с апи или обойти ограничения на айпи-адреса?
  • Вопрос задан
  • 891 просмотр
Пригласить эксперта
Ответы на вопрос 4
3vi1_0n3
@3vi1_0n3
А не рассматривали на своем хостинге делать кэширование?
Мощность хостинга тут влияет слабо, больше влияет то, каким образом данные проходят.
Имеет смысл посмотреть, какие таймауты при запросе данных из сервиса с вашего хостинга, сколько времени обрабатывается запрос от клиента на вашем хостинге и так далее, и уже исходя из этого думать.
Эффективнее реализовать можно с использованием проксирования, без обработки данных своими скриптами, но поскольку непонятно, что именно за данные, в каком виде, и что делает с ними ваш сервис, неизвестно, можно ли такое сделать.
Например, вы сами генерируете страничку, а данные просто проксируете, чтобы клиент получал, скажем, JSON (или XML), и обрабатывал его на стороне клиента через AJAX.
Ответ написан
zo0m
@zo0m
full stack developer
Где физически находится стороннее API и ваш сервер? Попробуйте подвинуть свой сервер поближе. Может можно кешировать запросы к стороннему API и слать не во всех случаях?
Мощность хостинга вряд ли, вы же просто пробрасываете запросы дальше, вам важно количество соединений которые может держать ваш сервер, но все равно напишите что за машину используете, и что за технологию вы используете? (для этой задачи NodeJS мне кажется отлично)

Про кеш: в зависимости от ситуации, можно отдельно тянуть данные в свою БД, и обрабатывать там
Ответ написан
Комментировать
@private_tm
JAVA dev
Можете запоминать запросы если это возможно и при таком же запросе уже не дёргать апи, а сразу отдавать.
Апи это грубо говоря доступ к БД.
Можете купить подобное БД и написать свое апи.
Вариантов много зависит от конкретного апи. Можно разнести несколько серверов по разным регионам и дергать ближайший(по пингу).

Можно предугадывать какие запросы будет делать пользователь и заранее посылать запросы к апи.
Так же на самом клиенте если этот запрос уже был недавно можно его не слеать повторно(если время обновления бд раз там в 10 минут).

Все вообщем зависит от конкретного апи и вашего приложения и довольно таки индивидуально.
Ответ написан
Комментировать
opium
@opium
Просто люблю качественно работать
сильно влияет если не хватает ресурсов или сервера сильно далеко друг от друга, если же нет то совсем не влияет.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы