2017-08-09 148 views
2

据我所知,PM2 Cluster Mode允许我们轻松地跨单个机器上的CPU进行扩展。它是否创建了它正在扩展的节点应用程序的多个实例?从本质上讲,它与使用Nginx这样的反向代理在不同端口上运行多个节点应用程序是一样的吗?PM2群集模式与节点群集性能

然后,有Node Cluster其中分叉子进程。与PM2集群模式相比,此方法效率更高,因为它运行单个节点应用程序并使用工作线程处理传入请求?

回答

2

他们基本上都是这样做的,PM2将在后台使用Node Cluster,它会让事情变得更容易,因为您不必在代码中以编程方式处理分叉,只需按原样运行。

请注意,群集模式将不支持会话粘性,因此请确保您的应用程序是无状态的。

+0

我可能要去测试一下,但我试图了解资源使用量是否会按比例增加PM2的分支数量。例如,如果应用程序的单个实例使用4GB,则在PM2中,每个额外的实例将消耗另外4GB,而在节点群集中则不会。 – theoutlander

+2

我刚刚发现在Node中分叉与POISIX分叉非常不同,因为它实际上并不克隆当前进程,但它确实启动了一个新的V8实例。资料来源:http://stackabuse.com/setting-up-a-node-js-cluster/ – theoutlander