【发布时间】:2021-06-06 17:03:51
【问题描述】:
如果我在以下任何地方有错误,请纠正我。
假设我有简单的前端应用程序(React、Vue、Angular 等),然后是后端(Node.js 或任何 RestAPI 提供程序)。
我可以分别运行它们(不使用 docker),或者都使用 docker-compose 进行 dockerized。
方法一:当不使用 docker 时,我需要将我的应用程序部署到 2 个单独的服务器上。
方法 2: 使用 docker-compose 时,我可以将所有内容部署到单个服务器(如 heroku)。前端将在默认的 http 端口 80 下,后端将在端口 81 下。
我已经看到方法 2) 的一个巨大好处是我不需要为 2 个主机付费。
我的问题是:
- 从前端到后端的请求的两种方法的速度比较是多少(我的意思是对于像 Nuxt.js 或 Next.js 这样的服务器端渲染)。方法 2 是否会更快,因为它在同一台服务器上?
- 我还缺少哪些其他优点和缺点?
谢谢
【问题讨论】:
-
您可能希望两半都在同一个主机/端口上提供服务。对于这种 2 层应用程序,最简单的方法是将前端应用程序编译为静态文件,然后从后端提供它,尽管还有其他方法。最终用户可能看不到是否使用 Docker 的性能差异。
-
是的,但是我想使用像 Nuxt.js 这样的 SSR,因此我需要 Node.js 服务器而不是静态的
标签: docker deployment docker-compose