Нет, я не пытаюсь понять, сколько слов можно задать в одном вопросе.AJAX долгий опрос API REST/Memcached в приложении PHP
Я делаю запросы REST через cURL в своем приложении PHP для некоторых веб-сервисов. Эти запросы нужно делать довольно часто, поскольку большая часть приложения зависит от этого API. Однако есть серьезные задержки с запросами (2-5 секунд), которые просто заставляют мое приложение выглядеть довольно медленно.
Пока я нахожусь на полпути к решению с рекомендацией кэшировать эти запросы в Memcached, меня все еще не удовлетворяет такая латентность, когда-либо появляющаяся в приложении.
Итак, вот моя мысль: я могу реализовать длинный опрос AJAX в фоновом режиме, чтобы пользователь никогда не испытывал латентность прямо. Запросы REST/поиск в Memcache будут выполняться через AJAX с заданным интервалом.
Но это все очень ново для меня, и я не уверен, что это лучший подход. И если я на правильном пути, я знаю, что PHP + Apache не будет обрабатывать что-то подобное. Но PHP - единственный язык, который я знаю. В идеале я хотел бы создать что-то вроде Tornado в Python, но я просто не уверен, что сейчас я слишком переутомляю или нет.
Любые мысли здесь были бы полезны и высоко оценены.
Каково расстояние между запросами REST и вашими веб-сервисами? Другое слово, латентность вызвана сетью или просто остальные запросы просто медленны. Если бы вы рассматривали разминку кеша для запросов REST? – ajreal
@ajreal, Что такое разогрев кеша? –
Прогрев - это предварительная загрузка набора данных, чтобы память memcache была заполнена действительными данными из REST. Смысл, вместо того чтобы позволить вашему приложению определить, какой URL-адрес REST, вы можете запустить фоновое задание для предварительного выбора этих URL-адресов REST. Вы можете использовать базу данных или файл, чтобы отслеживать URL-адрес REST, который вы выполнили в своем приложении. – ajreal