使用 pm2 集群模式启动 node.js 应用程序时的具体注意事项

Specific considerations when using pm2 cluster mode to launch node.js app

我真的很想使用集群模式为我的 node.js 应用程序做一些基本的负载平衡,但我没有找到任何关于 运行 在集群模式下的特殊注意事项的文档。集群模式运行时ones的代码有什么需要特别修改的吗?我假设所有节点端点都将自动执行,但我还没有找到任何关于此的信息。

我怀疑代码库的 much/any 会以不同的方式执行,更不用说原子执行了,它比 pm2 这样的进程管理器更依赖 OS/hardware。

您无需更改代码中的任何内容即可使用 pm2 的集群模式,只需使用 -i 标志并设置所需的数量(通常是系统上可用的可用物理 CPU 的数量。通常你可以做 pm2 start --name MyApp -i $(nproc) 否则你可以使用 cluster 模块在你的代码中手动做。

假设var cluster = require('cluster')您可以通过将cluster.schedulingPolicy设置为cluster.SCHED_RR来更改调度link方法,如果您想要循环调度或 cluster.SCHED_NONE 如果您希望 OS 选择调度。