Масштабируемый опрос приложения AppEngine от многочисленных «активных» клиентов? - PullRequest
2 голосов
/ 11 марта 2009

Я работаю над приложением, которое будет работать в Google AppEngine.

Я планирую, чтобы веб-интерфейс этого приложения, среди прочего, ожидал уведомлений, поступающих с сервера AppEngine.

В идеале мне бы хотелось использовать XMLHttpRequest (), чтобы сделать запрос к серверу, который будет ждать, пока приложение не получит следующее уведомление.

Однако в AppEngine, похоже, нет поддержки такого типа логики (поправьте меня, если я ошибаюсь). Это значит, что я ограничен опросом через определенные промежутки времени.

Так что вопрос:

  • У кого-нибудь есть хорошее предложение о том, как лучше спроектировать этот механизм опроса, чтобы избежать использования квот на использование процессора в AppEngine? Необходимо учитывать масштабируемость по мере увеличения количества «активных» клиентов.

Меня особенно интересуют предложения по хорошему управлению интервалами опроса со стороны клиента и советы по эффективной обработке запросов в приложении AppEngine по мере роста числа «активных» клиентов.

PS : тип информации, опрашиваемой с сервера, обычно представляет собой информацию в кодировке JSON о недавно обновленных / добавленных битах информации (читается недавно как: в последние несколько секунд или минут). *

Обновление статуса

Вот краткое изложение моих мыслей по этому вопросу:

  • Чтобы минимизировать нагрузку на ЦП, необходимую для ответа на каждый отдельный запрос, генерируемый методом опроса: используйте memcache, чтобы минимизировать время, необходимое для сбора информации об ответе. Нужно найти указатели на хороший пример этого .
  • Чтобы свести к минимуму количество запросов, генерируемых на сервер «активными» клиентами, у меня есть несколько потенциальных клиентов:
    • Увеличьте время ожидания между последовательными запросами к серверу, если пользователь не активно взаимодействует (т.е. ничего не нажимает) на веб-странице клиента.
    • Передача запросов на серверы других типов, то есть включение результатов запросов в другие результаты запросов для экономии на количестве запросов.

Комментарии и указатели на примеры кода приветствуются!

1 Ответ

1 голос
/ 13 марта 2009

OR ...

Возможно, вас заинтересует некоторая реализация pubsub. Как почтенный pubsubhubbub , сделанный парнями из Google и Jaiku.

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