Rails is turning into a framework that includes everything, including the kitchen sink. Personally, I prefer to use the best tool for the job and node.js seems to be a much saner choice when doing realtime communication, since everything in node.js is non-blocking. There are so many ways to shoot yourself in the foot if you develop large realtime systems in Ruby (or any other language that includes a lot of blocking libraries).
"Cons: If a thread crashes, the entire process goes down."<p>I wrote this thing called Celluloid and I can assure you this isn't true. Ruby has "abort_on_exception" for threads, but the default is most assuredly false.<p>"Good luck debugging concurrency bugs."<p>Good luck debugging concurrency bugs in a callback-driven system!
><i>Several days ago Rails introduced Live Streaming: the ability to send partial responses to the client immediately.</i><p>Would this be analogous to what PHP does if you being writing a response without output buffering?