I am making some game server. As like any other game server does, I think the server should be state-ful. (might be change later, but currently I am looking for state-ful solution)
After playing with Rake some, I decided to find a solution in Ruby. What I am finding is:
I think most similar example is HTTP server integrated into node.js
. Basically a thin layer on top of TCP socket.
It doesn't need to support multi-threading. I think I will run separated process for each CPU core and I need fast development, so multithreading is currently what to evade.
I have looked for Rack
, and it seems like just a protocol specification, and is not an actual implementation. And it looks like for state-less web-app only. If it is not,please correct me.
So, what kind of options are available for these stuffs in Ruby?
In general if you want to know "What are my options in Ruby regarding [...]" your best resource is The Ruby Toolbox.
The web servers category shows many options. The most popular servers are:
A few notes on your requirements:
Personally I'm using both Thin and Passenger with great success. The combination "Thin during development, Passenger in production" seems to very common, too.
PS: You are not mentioning any web framework. Even if you want to make your application as lightweight as possible, a simple web framework can spare you a lot of boilerplate code. (The Ruby Toolbox: Web App Frameworks)