views:

69

answers:

1

I have a server side code written in java and client side code written in flex. As client makes a request roughly every 3 seconds to the server, then I'm pretty sure I'm running into scalability problems at some point.

As far as I can see, I can host the application either in Google Apps Engine or Amazon Cloud. As I understand Amazon offers a do-it-yourself approach and I have to set up and maintain the cluster myself, which I'm not really fond of so I'm inclined to use GAE, which promises virtually infinite scalability if one can conform to the limitations and restrictions of course.

One of the limitations is the number of requests at 500 per second (can request temporarily more by filling in a special form), which roughly translates to 1500 simultaneous users, each pinging after every 3 seconds to the server.

What bothers me is that I really don't know how big this thing can grow and 1500 players definitely doesn't seem like a lot so besides using Google Apps and perhaps AWS (unless it scales better with what I'm trying to do), what other options do I have, which wouldn't cost me a fortune?

Thank you.

+1  A: 

There's no longer a hard limit on the number of QPS your App Engine app can sustain (and in any case, increases were never temporary). As long as your average request latency is below 1000 milliseconds, we'll provision more instances as needed.

As far as polling goes, yes, that won't scale well when it comes to resource consumption. The upcoming Channels API will provide a way to asynchronously notify a user's browser of events.

Nick Johnson
Yeah, I don't see how my requests can go over the 1s limit as they are all very lightweight. Channels API definitely seems like something my app desperately needs to use. I know BlazeDS uses similar approach, but it has its limitations as well. I have 1 question though - when do you think Channels API will become publicly available?
jaz
@jaz We don't have a release date right now. You're welcome to join the trusted tester list, though!
Nick Johnson
@Nick-Johnson Can you provide more detail about joining the trusted tester please? Thanks.
jaz
You can sign up to be a trusted tester for the Channel API here: https://spreadsheets.google.com/a/google.com/viewform?formkey=dGFxQ1A4T1BSYWxNdFlYVFhUcmg2amc6MQ
Nick Johnson