0

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

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

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

4

1 回答 1

1

PM2 仅实现部分集群支持。

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

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

如果你打算使用 PM2,你可以像使用 Ruby、Python 等一样使用 Greenlock Express - 作为单独的可执行文件,而不是作为“内置”应用程序。

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

另外:仅cluster当您实际上有多个 CPU 内核时才使用模式,否则您将导致线程抖动并减慢您的进程。

于 2020-05-02T11:29:10.890 回答