负载平衡(群集模式)
内置的负载平衡器提供联网的Node.js应用(http(s)/ tcp / udp服务器),可在所有可用的CPU上进行缩放,无需修改任何代码。
用此选项来激活群集模式 :
max
表示PM2将自动检测可用CPU的数量并尽可能多地运行进程。
或通过您的生态系统文件进行 (ecosystem.config.js):
此 instances 选项可作为:
- 一个整数。 这会在特定数量的群集中展开应用。
无状态应用
在群集环境中,您首先需要确定您的应用没有内部状态。
查看我们的 ,建立您的无状态应用。
当您使用 restart
时,pm2杀死并重启该进程,所以在短时间内您将无法使用该服务。
通过重载,pm2会一一重启所有进程,并始终保持至少一个进程正在运行:
或:
如果重装系统没有重载您的应用,超时将回退到经典重启。
正常开机&关机
为了确保所有请求都能在重载中被正确处理,您需要确保您的应用关闭,不留下未答复的请求。
通过我们的获得帮助,设置正常关机。
环境变量用于区分群集。
例如,如果您只想在一个群集上运行cronjob,可检查 process.env.NODE_APP_INSTANCE === 0
是否成立。
该变量可在生态系统文件中重命名:
这对报告名称冲突的 软件包非常有用,查看此问题。