我有一个 node.js Web 应用程序,它使用 nginx 和 pm2 在我的 amazon aws 服务器上运行。应用程序为用户处理文件,这是使用作业系统和子进程完成的。简而言之,当应用程序通过 pm2 启动时,我为服务器的每个 cpu 核心创建了一个子进程。每个子进程(worker)然后完成作业队列中的作业。
我的问题是,我可以在 docker 中复制它还是需要以某种方式修改它。我的一个假设是,我需要为数据库创建一个容器,为应用程序创建一个容器,然后创建多个工作容器来进行处理,这样如果一个容器崩溃,我只需启动另一个工作容器。
我一直在网上做研究,包括一个 udemy 课程来了解这些东西,但我还没有遇到一个例子或我可以与我的问题/问题相关的东西。
任何帮助、阅读材料或建议将不胜感激。
容器以与主机操作系统相同的性能级别运行。没有过程性能受到影响。我与 Docker 和 HPE 就此创建了一份白皮书。
您不会使用 pm2 或 nodemon,它们旨在启动节点应用程序的多个进程并在它们失败时重新启动它们。这就是 Docker 现在的工作。
如果在 Swarm 中,您只需将服务的副本数增加到与您希望在 swarm 中同时运行的 CPU/线程数相似。
我没有在我的node-docker-good-defaults 中提到 Swarm 的 nodemon/pm2 事情,所以我会把它作为一个问题来更新它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句