我是否应该在使用 pm2 集群模式的同时使用集群模式的 Node.js Greenlock-Express?

Should I use Node.js Greenlock-Express with cluster mode at the same time I'm using pm2 cluster mode?

我正在构建一个无状态 Web 应用程序,使用 Node.js、Express 和 pm2 进行进程管理。 在生产环境中,我运行服务器的每个核心一个应用程序实例CPU(感谢pm2集群模式)。

最近开始阅读Greenlock-Express(用于自动获取证书)并且它还有一个"cluster" 属性,如果我理解正确它基本上与pm2集群做同样的事情模式。

如果我 运行 在集群模式下同时使用 Greenlock-Express 和 pm2,会不会有任何冲突或可能的问题?如果他们这样做,在 Windows 环境中使用 Node.js 自动获取 SSL 证书的最佳替代方法是什么?如果他们不这样做,是否最好在集群模式下同时使用它们?

PM2 仅实现部分集群支持。

https://git.rootprojects.org/root/greenlock-express.js/issues/26

我建议只使用 serviceman(跨平台)或原始 systemd(linux)或 Docker(云部署)。

如果你打算使用 PM2,你使用 Greenlock Express 的方式与你将它与 Ruby、Python 等一起使用的方式相同——作为一个单独的可执行文件,而不是作为一个"built-in"应用

PM2 对节点应用程序的默认优化已经在 Greenlock Express 中实现,并且由于 PM2 仅具有部分集群支持,因此无法告诉 PM2 将控制权传递给 Greenlock Express,也无法让 PM2 接受来自 Greenlock Express 的控制权.

此外:如果您确实有多个 CPU 核心,则仅使用 cluster 模式,否则您将导致线程抖动并减慢您的进程。