node.jsweb-applicationswebsocketsocket.iomongrel2

Web App technologies choice


I am currently writing user interface in ember.js and need some help in server-side decision concerning transfer technologi and server-side script.

App is planned to simply wrap calling of few server-side script with adding some database suggar for handling users permissions and storing inputs-outputs.

Users has to be logged-in for proper work with application.

I am expecting high concurrency of working users and since I can use more paralel threads on server I am not entirely sure if I have to go with Node.js+socket.io.

Half of requests will be simple ask to database requests and other half will need little more computation time of another server-side script (up to 5s).

I will most probably use MongrelDB as database.

My biggest questions:


Solution

    1. Better to have graceful degradation - because websocket protocol is still in changing rapidly.
    2. For scalling, I'm use Redis pub/sub, but you can use cluster module for multi-core.
    3. Don't know.
    4. I'm share session from connect to socket.io with RedisStorage. You can use RedisStorage only for handle logged-in users.