集群模式

集群模式允许联网的 Node.js 应用程序(http(s)/tcp/udp 服务器)在所有可用的 CPU 上扩展,无需任何代码修改。这极大地提高了应用程序的性能和可靠性,具体取决于可用的 CPU 数量。在幕后,这使用了 Node.js集群模块,以便扩展应用程序的子进程可以自动共享服务器端口。要了解更多信息,请参阅关于集群模块的官方 Node.js 文档中的工作原理。

https://pm2.keymetrics.io/docs/usage/cluster-mode/

用法

要启用集群模式,只需传递 -i选项:

pm2 start app.js -i max

max 意味着 PM2 将自动检测可用 CPU 的数量并运行尽可能多的进程

或者通过js/yaml/json 文件:

module.exports = {
  apps : [{
    script    : "api.js",
    instances : "max",
    exec_mode : "cluster"
  }]
}

注意:您需要将 exec_mode 设置为cluster以便 PM2 知道您想要在每个实例之间进行负载平衡,默认情况下它不会

然后启动进程文件:

pm2 start processes.json

-i或instances选项可以是:

  • 0/max将应用程序分布在所有 CPU 上
  • -1将应用程序分布到所有 CPU - 1
  • number将应用程序分布在number 个CPU上
作者:Jeebiz  创建时间:2023-02-25 22:10
最后编辑:Jeebiz  更新时间:2023-02-26 22:38