Hey everyone! This is my first release to this mailing list - so hopefully I get this right. =)
I’d like to present to you PowerHouse, a NodeJS module that enhances scaling across processes in an easy fashion, that does not require a cli program or much of a restructure in your app. In fact, you can just drop it into your app and toy around and find a configurationt hat satisfies your needs! What PowerHouse does: - It helps you scale your application across processes in an easy way. - Give you the opportunity to create a child process that can idle alongside your app just fine. You could talk to it using Redis Pub/Sub. - Allow you to use sticky sessions. For instance, Socket.IO needs ~3 requests to perform the handshake. If only one request hits a different worker than the one the handshake was started in, you will run into issues! PowerHouse can help you out there. It sticks your client to a server and keeps them that way. - It can create a net.Server on the main process and forward the incoming connection to one worker process at a time. This is an alternative way of balancing requests. You could use this as a load-balancer or proxy mechanism, maybe. - Restart a worker that died. What PowerHouse DOES NOT do: - Require you to use a CLI application. - Needing to inject code into yours. - A special app layout. You decide how it’s laid out, no questions asked. - Interfere with the rest of your stuff. All it wants is to be called once on a worker so that handlers are set up and alike. You can find it here: https://github.com/IngwiePhoenix/PowerHouse <https://github.com/IngwiePhoenix/PowerHouse> I’d be happy about feedback, and ideas! It should be noted that the sticky session doesn’t work just yet. I have to yet implement it, but the base is already present! You also currently can not hot-reload workers. Thus there is no mechanism to close sockets that are remaining from a dead process. You can see a test in the test/ folder. Kind regards, Ingwie! -- Job board: http://jobs.nodejs.org/ New group rules: https://gist.github.com/othiym23/9886289#file-moderation-policy-md Old group rules: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines --- You received this message because you are subscribed to the Google Groups "nodejs" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/nodejs/373C1FFD-5AAC-4A49-ADD5-199761573D6D%40googlemail.com. For more options, visit https://groups.google.com/d/optout.
