Я работаю над приложением, которое будет работать в Google AppEngine.
Я планирую, чтобы веб-интерфейс этого приложения, среди прочего, ожидал уведомлений, поступающих с сервера AppEngine.
В идеале мне бы хотелось использовать XMLHttpRequest (), чтобы сделать запрос к серверу, который будет ждать, пока приложение не получит следующее уведомление.
Однако в AppEngine, похоже, нет поддержки такого типа логики (поправьте меня, если я ошибаюсь). Это значит, что я ограничен опросом через определенные промежутки времени.
Так что вопрос:
- У кого-нибудь есть хорошее предложение о том, как лучше спроектировать этот механизм опроса, чтобы избежать использования квот на использование процессора в AppEngine? Необходимо учитывать масштабируемость по мере увеличения количества «активных» клиентов.
Меня особенно интересуют предложения по хорошему управлению интервалами опроса со стороны клиента и советы по эффективной обработке запросов в приложении AppEngine по мере роста числа «активных» клиентов.
PS : тип информации, опрашиваемой с сервера, обычно представляет собой информацию в кодировке JSON о недавно обновленных / добавленных битах информации (читается недавно как: в последние несколько секунд или минут). *
Обновление статуса
Вот краткое изложение моих мыслей по этому вопросу:
- Чтобы минимизировать нагрузку на ЦП, необходимую для ответа на каждый отдельный запрос, генерируемый методом опроса: используйте memcache, чтобы минимизировать время, необходимое для сбора информации об ответе. Нужно найти указатели на хороший пример этого .
- Чтобы свести к минимуму количество запросов, генерируемых на сервер «активными» клиентами, у меня есть несколько потенциальных клиентов:
- Увеличьте время ожидания между последовательными запросами к серверу, если пользователь не активно взаимодействует (т.е. ничего не нажимает) на веб-странице клиента.
- Передача запросов на серверы других типов, то есть включение результатов запросов в другие результаты запросов для экономии на количестве запросов.
Комментарии и указатели на примеры кода приветствуются!