Массивное многопользовательское приложение реального времени с Google App Engine

Я создаю многопользовательское приложение реального времени с Google App Engine (Python), которое будет выглядеть как плагин прямой трансляции Facebook: https://developers.facebook.com/docs/reference/ plugins / live-stream /

Это означает: От 1 до 1 000 000 пользователей на одной и той же веб-странице могут выполнять действия, которые мгновенно уведомляются всем остальным . Это похоже на групповой чат, но с большим количеством людей ...

Мои вопросы:
- Может ли App Engine масштабировать до такого числа?
- Если да, то как бы вы его спроектировали?
- Если нет, каковы были бы ваши предложения?

Прямо сейчас это мой дизайн:
{{1 }} - Я использую API канала App Engine
- я сохраняю каждого подключенного пользователя в кэше памяти
- Каждый раз, когда выполняется действие, задача уведомления добавляется в очередь задач
- задача состоит в том, чтобы получить всех пользователей из кэша памяти и отправить им уведомление.

Я знаю , что у меня узкое место в задаче . Все уведомляются с помощью одной и той же задачи / запроса. Сейчас для 30 подключенных пользователей это длится около 1 секунды, поэтому для 100 000 пользователей вы можете представить, сколько времени это может занять.

Как бы вы это исправить?

Большое спасибо

9
задан Damien 3 December 2011 в 07:53
поделиться