Using node.js, backbone.js, socket.io, and redis to make a real time chat app
fzysqr.com
fzysqr.com
Really? It wasn't so odd back in 1996 when the Netscape web server supported it. To be sure, V8 and node have wildly better performance characteristics..but the idea of js on the server isn't exactly new: http://en.wikipedia.org/wiki/Server-side_JavaScript.
The source is unobfuscated, so you can check it out if you want.
The reason I ask is that everything sounds all good on paper, but how scalable is this "stack" in the real world. Would it be more scalable than relying on an xmpp network (which can be scaled wide if need be)?
Er, no, actually. Quick, someone sharper than I help me out!
that's what he did there
Perhaps "scaled" was the wrong word, as I wasn't using multiple nodes horizontally, but you'd only have to add more database servers to scale as the load contribution of node.js was absolutely tiny.
If you were doing huge numbers you could probably also put a load balancer in front of a couple node.js application servers, each connecting to the same mongodb replica set (which you could easily scale by just throwing in more nodes). But if you're doing an app like this one, you couldn't use nginx as a load balancer because it won't proxy WebSockets.
I've never tried node.js but I'm very curious to know what it offers that, say, Twisted or .NET or any other framework with proper IO facilities doesn't.
It would be RESTful relational database-as-a-service but where any individual item could show updates in real time. (E.g. real-time chat would just be a Javascript component.)