scalable server backend for browser games

128 views
Skip to first unread message

Karel

unread,
Sep 9, 2011, 1:36:21 PM9/9/11
to Google Web Toolkit
Hey guys,

I'm currently investigating the possibilities of using GWT to develop
a facebook browser game. The client should pose no problem; the main
issue here seems to be the server. For starters, I don't want to use a
php backend, because that would give up one of the main advantages of
using GWT: that you can share code between client and server. So I
need a java-based solution for the server.

I'm not sure if Tomcat is up to the task of being the backend for a
browser game with potentially millions of concurrent users. I looked
into alternatives, but I can't really find any suitable. Node.js seems
interesting; it's very scalable and powerful, but it's obviously in
javascript. If I could somehow use the client-side compiler to
translate the server-side code from java to js as well, then I might
be able to use a wrapper around node.js to build a java-based server
which runs entirely on javascript. I'm not sure if this would be
faster or more scalable than Tomcat though...

What's your opinion? Do you think Tomcat is up to the task of hosting
the backend of a farmville-style game, or not? And what of potential
alternatives such as node.js? I would like to hear your opinion!

Kind regards,
Karel

Gal Dolber

unread,
Sep 9, 2011, 1:57:26 PM9/9/11
to google-we...@googlegroups.com
Checkout
http://code.google.com/appengine/
and

--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To post to this group, send email to google-we...@googlegroups.com.
To unsubscribe from this group, send email to google-web-tool...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.




--
Guit: Elegant, beautiful, modular and *production ready* gwt applications.

http://code.google.com/p/guit/




Jamie

unread,
Sep 9, 2011, 2:49:44 PM9/9/11
to Google Web Toolkit
I think this may depend on what you intend to do on the server.
Database? CPU intensive calculations? Calling out to some other web
services?

If you use Apache plus Tomcat, then you can set up load balancing.
Depending on the system it's running on, it should be able to process
a large volume of 'fast' calls. (Calls that don't need to do much
computation or IO).

If you are thinking of making calls to other servers or slow
processes, you might also consider Jetty, with it's super nice
'continuations' feature, although it can be tough to make work with
GWT. Once it's set up though, you can handle a very large number of
concurrent requests.
I am not sure if Tomcat has support for suspendable requests.

In fact, if you are planning on some sort of event-driven interaction,
then continuations may be a necessity.

Juan Pablo Gardella

unread,
Sep 12, 2011, 7:38:17 AM9/12/11
to google-we...@googlegroups.com
You can use Tomcat, but not standalone. You need load balance by software or hardware inclusive. A Big company use this type architecture for online games.

2011/9/9 Karel <karel.c...@gmail.com>

J.Ganesan

unread,
Sep 12, 2011, 8:17:54 AM9/12/11
to Google Web Toolkit
I feel Google App Engine ideally suits the requirement. It creates
multiple instances whenever needed and you program entirely in Java,
both UI and server. With Channel API, multi-player game also should be
possible.

J.Ganesan
DataStoreGwt.com

Thomas Broyer

unread,
Sep 12, 2011, 8:41:01 AM9/12/11
to google-we...@googlegroups.com
Also: http://www.heroku.com, http://www.cloudbees.com and http://www.cloudfoundry.com

(I absolutely never used any of them, so I can't comment)

Philip Rogers

unread,
Sep 12, 2011, 10:07:13 AM9/12/11
to google-we...@googlegroups.com
Angry Birds for Chrome has the same use-case you mention, and runs on AppEngine.
Reply all
Reply to author
Forward
0 new messages