我正在使用 Node.js、Express 和 pm2 构建一个无状态 Web 应用程序,用于流程管理。在生产环境中,我为服务器 CPU 的每个核心运行一个应用程序实例(感谢 pm2 集群模式)。
最近我开始阅读Greenlock-Express(用于自动获取证书),它也有一个 "集群 "属性,如果我理解正确的话,它基本上与pm2集群模式做同样的事情。
如果我在集群模式下同时运行Greenlock-Express和pm2,会不会有任何碰撞或可能的问题?如果有的话,在Windows环境下用Node.js自动获取SSL证书的最佳选择是什么?如果没有,在集群模式下同时使用它们是否是最佳选择?
pm2只实现了部分集群支持。
请看 https:/git.rootprojects.orgrootgreenlock-express.jsissues26。
我建议只用 serviceman
(跨平台)或生 systemd
(linux)或 Docker
云部署)。
如果你要使用PM2,你使用Greenlock Express的方式和使用Ruby、Python等一样--作为一个单独的可执行文件,而不是作为一个 "内置 "应用。
PM2对节点应用的默认优化已经在Greenlock Express中实现了,而且由于PM2只有部分集群支持,所以没有办法告诉PM2将控制权传递给Greenlock Express,也没有办法让PM2接受Greenlock Express的控制权。
另外。只能使用 cluster
模式,否则会造成线程乱跳,拖慢进程。