Reputation: 895
I'm looking to create a high-traffic chat website, possibly with video streaming with some image manipulation happening on the server.
Scanning over the Channel API (http://code.google.com/appengine/docs/python/channel/overview.html) has made me hopeful this can be done without AJAX polling, and the general opinion is that GAE is very scalable.
I still have a few concerns:
1) Can it support tens of thousands simultaneous users that interact with each other in real-time without lagging? Is there a cap on CPU usage?
2) I'll (probably) be writing it on top of the J2EE framework. Does GAE guarantee that each new request will have access to a global in-memory datastore that will be available as long as the application is running on the server ("ServletContext" in Java-speak) and will be storing possibly gigabytes of data? Is there a memory cap?
3) Will the full J2SE and J2EE stack be available? Will I be able to include just any library I wish?
4) Are there better solutions for this kind of issue than GAE? I've been thinking about renting several dedicated servers, but this will go into the thousands/month...
Thanks in advance!
Upvotes: 5
Views: 3397
Reputation: 76
Regarding the Channel API: note the message size limitation: "Messages are limited to 32K". Perhaps it could be possible to split the video stream into small chunks, but I don't think it's much practical or feasible. Also for the client to build back the original stream. Then no standard e.g. Flash player can be used.
Upvotes: 0
Reputation: 101149
To address your questions in order:
Upvotes: 5
Reputation: 21357
First, note that there is a free version and a paid version. I assume you are going to pay for additional quotas?
GAE is really intended for running small-to-medium level interactive websites, not doing high-performance things like video streaming. Sorry to be so pessimistic: you can make up your own mind from the info and links I provided.
Upvotes: 4