在NodeJS中为Rails创建一个Web服务器/应用服务器是否有意义

问题描述:

OK,现在,NodeJS是所有的嗡嗡声,因为它以非阻塞的异步方式处理事情。因此,它非常适合作为某种服务器,同时处理来自多个客户端的请求。所以我的问题是,从技术的角度来看,编写一个通用的Rails应用程序和Web服务器用于生产使用是否有意义。清楚的是,它将代替(例如)Apache和Phusion Passenger。从理论上讲,这种设置在处理请求和响应时不会更快吗?在NodeJS中为Rails创建一个Web服务器/应用服务器是否有意义

+2

“非阻塞/异步”不自动意味着“更快”。 –

+2

@Matt:谢谢你通过一些炒作(有可能成为异端)。 –

+0

@ mu * * shrug *'作为一个Java人,这是对我来说是什么:http://news.ycombinator.com/item?id=1551776 –

您可以使用基于事件的Nginx,LighttpdMongrel2,并且可能仍然保留您的Ruby on Rails。据我所知,所有这三个人都使用事件I/O,并且不建立和拆除每个新连接的线程或分支。这样,你可以保持你的Ruby on Rails。如果你需要任何AJAX的双向通信,那么我建议把一个Node.JS Socket.IO服务器。

Apache在处理并发连接时效率很低。如果您的流量量较高,那么节点在处理连接时应该比Apache做得更好。但是,节点本身不仅仅是一个http服务器,它可以编写全新的MVC框架,与Rails构建Web应用程序不同。在节点中编写http服务器以取代Apache/Phusion Passenger可能并不明智。节点很年轻,还没有发布1.0版本。