我想在多核机器上扩展。使用cluster
库是一个选项,但我想知道我是否可以通过简单的方式运行多个服务器。
所以我想知道的是:Node.js是否自动将服务器分布在多个核心上。因此,如果我有5个内核和5个服务器,每个服务器上都会运行每个服务器。
如果是这样,这是一种在多核计算机上扩展的可行方法吗?
答案 0 :(得分:2)
实际上,只运行节点应用程序的多个实例,将使用多个进程。
但有一点需要注意,群集选项只有一个小优势,如果您创建的内容可以在TcpIP端口上侦听,则群集可以共享一个IP端口,例如。如果说您在端口80上运行了Web服务器,则可以使用在端口80上运行的所有核心。
我倾向于做的是,在端口80上运行反向代理,并在其他端口上运行其他进程。 IOW:群集选项非常适合创建反向代理..:)
以上优点是反向代理并不需要保持状态,你也可以使用集群来完成SSL。这会留下您的节点应用程序,因此它可以保持状态,例如。内存中的缓存响应等。节点的巨大优势是进程内请求,这里不需要特殊的ipc。