#google-app-engine #channel-api
#google-app-engine #channel-api
Вопрос:
Я использую Google App Engine уже ~ 2 года, и мне это нравится. Мне поручено создать игру, и я хотел использовать GAE в качестве серверной части. Насколько я понимаю, API каналов предназначен для такого рода приложений. Я запустил демо-версию tic-tac-toe и заметил, что у каждого клиента есть свой собственный канал. Прочитав документацию немного внимательнее, я заметил, что именно так и должна использоваться система. Затем я проверил квоты и ограничения в документах и… был опустошен. GAE позволит мне создавать максимум 60 новых каналов в минуту. Это означает, что у меня может быть только 60 новых пользователей в минуту. Это настолько ограничивает, что я не могу использовать этот API.
Итак, мои вопросы:
- Правильно ли я это делаю (1 клиент = 1 канал)
- Является ли channel API лучшим API для обновления нескольких клиентов о текущем состоянии игры.
- На самом деле не может быть всего 60!? Могу ли я платить больше за минуту?
Комментарии:
1. На самом деле, я был также поражен общим временем подключения к каналу в 200 часов в день… Я думаю, это означает, что если ваш tick-tack-toe запускает в среднем более 5 игр одновременно, вы бы уже достигли этого предела (5 * 2 игрока * 24 часа > 200 часов)… Почему-то это кажется неправильным…. (РЕДАКТИРОВАТЬ: это цены, когда выставление счетов не включено… За 2,10 доллара в неделю вы, похоже, получаете неограниченное количество часов (просто платите за сообщение, 1 доллар за 10 000 сообщений)).
Ответ №1:
-
Имейте в виду, что токены канала не истекают в течение двух часов. Это означает, что если один клиент подключается несколько раз в течение срока действия этого токена, вы можете снова обслуживать тот же токен канала, что не считается созданием.
Но в остальном, да, вы правы; 1 канал на 1 клиента в течение 2 часов.
- API канала — лучший API AppEngine, который можно использовать для этого в настоящее время, хотя некоторые пользователи настаивают на интегрированной поддержке WebSocket.
- 60 — это максимальное значение для платного выставления счетов. Колоссальные 6 в минуту — это максимум для бесплатных приложений. Они говорят, что вы можете запросить увеличение практически для любого ресурса, но страница, на которую они ссылаются (и на которую я ссылался здесь), конкретно рассказывает об использовании процессора и QPS.
Комментарии:
1. @rp90 Тебе повезло?
2. @MatthewH Обратите внимание, что этому вопросу больше года, и OP не входил в систему более 9 месяцев. Тем не менее, многое изменилось в App Engine с тех пор, как был дан ответ на этот вопрос, включая то, что теперь вы можете указать, как долго вы хотели бы, чтобы токен канала действовал до истечения срока действия. Мы надеемся, что это даст вам немного больше контроля над тем, как вы используете их в своем приложении.
3. Это смехотворно дерьмовая производительность от GAE, даже если вы платите, это не масштабируется более чем на 1 создание канала в секунду (верно?). Таким образом, он не масштабируется, что делает его непригодным для меня. Создание канала также обходится довольно дорого… Я думал, что это будет лучше, чем опрос, но в принципе одинаково плохо, за исключением того, что это проще.