运行多个Node.js脚本是否会自动分配到核心

时间:2016-11-04 22:56:08

标签: javascript node.js multiprocessing scaling

我想在多核机器上扩展。使用cluster库是一个选项,但我想知道我是否可以通过简单的方式运行多个服务器。

所以我想知道的是:Node.js是否自动将服务器分布在多个核心上。因此,如果我有5个内核和5个服务器,每个服务器上都会运行每个服务器。

如果是这样,这是一种在多核计算机上扩展的可行方法吗?

1 个答案:

答案 0 :(得分:2)

实际上,只运行节点应用程序的多个实例,将使用多个进程。

但有一点需要注意,群集选项只有一个小优势,如果您创建的内容可以在TcpIP端口上侦听,则群集可以共享一个IP端口,例如。如果说您在端口80上运行了Web服务器,则可以使用在端口80上运行的所有核心。

我倾向于做的是,在端口80上运行反向代理,并在其他端口上运行其他进程。 IOW:群集选项非常适合创建反向代理..:)

以上优点是反向代理并不需要保持状态,你也可以使用集群来完成SSL。这会留下您的节点应用程序,因此它可以保持状态,例如。内存中的缓存响应等。节点的巨大优势是进程内请求,这里不需要特殊的ipc。