Pull to refresh

Реализация Polling на Google App Engine

Self Promo
Хочу пропиарить свою небольшую игрушку, которую я написал на Python, которая использует App Engine в качестве платформы, и в которой я реализовал comet через обычный polling.
image
Геймплей — казуальная разновидность risk-игр. Все банально, захватите мир и станете победителем. Итак, знакомьтесь: gumwars.com.
Подкатом — подробности реализации и расчет стоимости поддержки на App Engine.

Техническая реализация


Как можно заметить на скриншоте, клиентская сторона реализована на Google Maps API, он прекрасно подходит для визуализации risk-игр. С серверной стороной все сложнее.
Хотя App Engine и может держать коннект до 30 секунд, одновременно может обрабатываться только до 30 соединений. Поэтому long polling на App Engine отпадает и остается обычный polling. Решение не эффективное, но изначально хотелось посмотреть как будет вести себя App Engine при таких условиях, к тому же, это прекрасный краш-тест. Итак, каждый пользователь генерирует один запрос в секунду.

Расчет стоимости поддержки и актуальность App Engine для polling


Вся эта затея — эксперимент. И этот эксперимент еще не закончен, хочется нагнать аудиторию и посмотреть как будет вести себя платформа на достаточной загрузке. Но все же, несколько прогнозируемых расчетов.
1000 запросов на получение событий колеблются в районе $0.001-0.002, а так как от одного клиента игра получает около 3600 запросов в час, то имеем стоимость около $0.0072 за человеко-час игры. Хотя, эти расчеты достаточно условны.

Планы


В дальнейшем я планирую написать небольшой отчет, что же из этого получилось. Также, позже хочу отточить реализацию polling и опубликовать отдельной open source библиотекой (python и js части).
Ну и ждем поддержку WebSockets для App Engine, конечно же.

PS. К сожалению, нет кармы для блога «Я пиарюсь». Перенес в «Я пиарюсь».
Tags:
Hubs:
Total votes 14: ↑10 and ↓4 +6
Views 593
Comments Comments 10