一台机器上的node.js服务器实例的水平伸缩

在node.js上运行一个web服务器是一件简单的事情(如其优秀的例子和文档所见),但我想知道如何充分利用专用服务器的CPU资源?

由于node.js是单线程,因此利用多个处理器的唯一方法是通过多个进程。 当然,只有一个进程可以绑定到一个端口,所以似乎必须有一个主/辅助模式,其中主分派孩子,绑定到传入端口,并委托传入连接(和实际处理工作)给孩子。 (也许是通过饥饿的消费模式?)

这是扩展运行node.js的Web服务器的最佳方式吗? 如果是这样,有没有图书馆来简化主/从模式? 如果不是,build议哪种模式或部署设置最好地使用专用机器的全部资源?

(这是一个更好的ServerFault问题?)

多节点是提供主/辅助模式的库。

如果服务器进程不需要能够相互通话,而且你没有使用Socket.IO ,那么一个简单的select就是启动一个进程/内核,绑定到本地端口,并使用像nginx或HAProxy在它们之间进行负载平衡。

如果您使用快递,我会使用tj的群集: http : //learnboost.github.com/cluster/

它提供了“透明的”基于cpu的负载平衡,这是很好的,因为你可以使用你现有的快速应用程序,它可以相对无痛地跨越核心进行扩展。