Forum: Ruby Is Ruby a good choice for a turn-based mmo server in terms of performance and scalabilty?

C3d46299fced9fc59af86cda1c684d1b?d=identicon&s=25 Eren CAY (iriscay)
on 2014-08-13 08:38
I'm about to develop a turn based mmo for mobile phones. From the very
begging, I wanted to use Ruby on the server side but I also knew Java
would be a better solution for this. But then, there are some gems like
eventmachine promises "extremely high scalability, performance and
stability". Can I really expect much from Ruby with the right tools and
optimizations? If so what are your advises for a starter?
Or should I simply choose a platform like Java or Node.js(not sure for
this one) for a safe bet?
B078cb4f4fb473c7a54d1fc36d10c70e?d=identicon&s=25 Regis d'Aubarede (raubarede)
on 2014-08-13 11:31
Eren CAY wrote in post #1155010:

> But then, there are some gems like
> eventmachine promises "extremely high scalability, performance and
> stability". Can I really expect much from Ruby with the right tools and
> optimizations?

See some measures at  https://github.com/glurp/ws_bench

> If so what are your advises for a starter?
> Or should I simply choose a platform like Java or Node.js(not sure for
> this one) for a safe bet?

I have done application with massive clients request on map quad-tree.

Conclusions:
* 2 features : massive io via sockets and many treatment. so do 2
layers:
 gateways which receive requests (http/websocket) and parse/stream them
 via stable tcp link to a (quadtree) server, server which can be uniq
* a main http server which redirect clients to a gateway after login

Then you can use good technology for each process:
* gateway can be in node.js/ruby thin (jvm no good: too much memory by
  sockets)
* server can be in java/scala/go/C++
* redirector can be nginx, or sinatra and orchestrator like
  god : http://godrb.com/ (I have not try yet...)
Please log in before posting. Registration is free and takes only a minute.
Existing account

NEW: Do you have a Google/GoogleMail, Yahoo or Facebook account? No registration required!
Log in with Google account | Log in with Yahoo account | Log in with Facebook account
No account? Register here.