google app engine channel api limitations
Asked Answered
U

1

18

I have been using Google app engine for ~2 years now and love it. I am tasked with making a game and I wanted to use GAE as the backend. From what I understand the Channels API is meant for this kind of application. I got the tic-tac-toe demo working and noticed that each client got its own channel. After reading the documentation a little closer I noticed that this is how the system is meant to be used. I then checked the quotas and limits in the docs and... was devastated. GAE will let me at a maximum create 60 new channels a minute. That means I can only have 60 new users a minute. This is so limiting that I cannot use this API.

So my questions are:

  1. Am I doing it right (1 client = 1 channel)
  2. Is the channel API the best API to use to update multiple clients about the current state of a game.
  3. It can't really be only 60!? Can I pay for more per minute?
Unusual answered 11/11, 2011 at 23:23 Comment(1)
Actually, I was equally struck by the total of 200 hours/day of channel connection time... I think this means that if your tick-tack-toe runs more than 5 games concurrently on average, you would already reach this limit (5 * 2 player * 24 hours > 200 hours)... Somehow it feels wrong.... (EDIT: these are the prices when no billing is enabled... For $2.10 per week you seem to get unlimited hours (just pay per message, $1 per 10,000 messages)).Sorayasorb
E
9
  1. Keep in mind that channel tokens do not expire for two hours. This means that if one client connects multiple times within the life of that token, you can serve that same channel token again, thus not counting as a creation.

    But otherwise, yes, you are correct; 1 channel per 1 client per 2 hours.

  2. The channel API is the best AppEngine API to use for this, currently, although some users are pushing for integrated WebSocket support.
  3. 60 is the max for paid billing. A whopping 6 per minute is the max for free apps. They say that you can request an increase for pretty much any resource, but the page they link to (and which I've linked to here) specifically talks about CPU usage and QPS.
Eustashe answered 11/11, 2011 at 23:34 Comment(3)
@Unusual Did you have any luck?Currency
@MatthewH Do note that this question is a over a year old, and the OP hasn't logged on in over 9 months. That said, many things have changed about App Engine since this question was answered, including that you may now specify how long you'd like for the channel token to last, before expiring. This hopefully will give you a bit more control over how you use them in your application.Eustashe
This is ridiculously crappy performance from GAE, even if you pay it doesn't scale over 1 channel creation / second (right?). So it doesn't scale, thus being unusable for me. It is also quite expensive to create a channel... I thought this would be better than polling, but basically equally bad, except being easier.Candelariacandelario

© 2022 - 2024 — McMap. All rights reserved.