lov*_*ntu 3 amazon-web-services amazon-ecs docker pm2
我们曾经 为 nodejs 应用程序在生产中使用PM2
现在来了 docker,它理想地希望我们每个容器有一个进程(尽管现在它已更改为每个容器一个关注点),然后如果您的应用程序是水平可扩展的,则您可以生成许多容器。
最后,还有管理容器的提供商,例如 AWS ECS 启动机器并运行 docker 容器。当它崩溃或无法访问时,它会启动另一台机器并确保应用程序在可能的情况下运行。docker本身也有一个HealthCheck选项,AWS ECS正在使用它(我假设其他提供商也会使用它)。
因此,考虑到所有这些,在 ECS 上运行 docker 映像时我是否真的需要 PM2 或任何其他进程管理器,还是我完全遗漏了什么?
Ric*_*cis 12
在我看来,不 - 您不应该需要为 ECS 中的容器使用 PM2 或类似的流程管理器。
只需坚持为node每个容器运行一个进程(即),让 ECS 代理管理其他一切。正如您所说,如果它崩溃并且进程退出,代理将简单地用集群中的另一个容器替换它。为了恢复能力,请确保您的集群中至少有 2 个 ECS 实例,并为每个应用程序运行至少 2 个容器(代理将跨实例放置这些容器)。
还可以使用应用程序负载均衡器并在您的目标组中定义 HTTP 运行状况检查,以防万一应用程序变得无响应,但无论出于何种原因该进程都不会退出。
| 归档时间: |
|
| 查看次数: |
2345 次 |
| 最近记录: |