在自动缩放环境中使用pm2

我打算使用AWS EC2容器服务来托pipe一个暴露REST API的自动扩展的Node.js + Express实例组。 我看到多篇文章告诉我,我应该使用pm2 over forever.js来确保我的应用程序在崩溃时重新启动,我可以顺利地重新载入应用程序等等。

但是,我对容器内部的pm2应该使用什么configuration感到困惑。 由于这些实例会自动缩放,我还应该以“集群模式”运行进程pipe理器吗? 我想确保我从我的实例中获得最大收益,而且我似乎无法find关于在像这样的自动扩展环境中是否需要群集的明确答案(只是pm2带有负载均衡器和缩放技术本身)。

在任何情况下,我都会使用system2而不是pm2,因为它现在在大多数Linux发行版上都是原生的,并且实际上只有一个步骤(使用pm2,您仍然需要使pm2守护进程成为服务)。

至于运行集群等,我认为这很大程度上取决于你的Node应用程序正在做什么。 因此,我可能会部署不使用它的容器,作为一个容器而不是内部扩展,并configuration一段时间。 这使得每个容器内的东西都尽可能简单,并让EVS服务经理完成工作。

当大多数人使用集群模块时,他们会为每个CPU内核创build一个工作者或者两个工作者。 考虑到一个容器与主机上的任何其他容器共享CPU核心,似乎你没有得到额外的复杂性爆炸。