我的应用程序有一个用 React 构建的前端和一个用 Node/Express 编写的后端。
后端将被容器化并托管在AWS EKS上。
对于前端Reactjs应用程序,使用CloudFront + S3与Docker + EKS有什么区别?
您需要评估的第一件事是您构建的 React 应用程序类型:
现在让我们回顾一下 部署选项
CloudFront:是一个 CDN,这是一种将静态文件发送到客户端的非常快速的方式。静态文件我们理解为:js文件、css文件、html等。 通常 CDN 部署在多个位置,因此客户端将从靠近他们的位置获取静态内容。
另一方面,Docker 是一种执行应用程序的方式,就像 NodeJs 后端一样。尽管它也可以提供静态文件,但它并未针对提供静态文件进行优化,您必须注意这一点。
决策要点
如果您的 React 应用程序是使用选项 1(在浏览器中执行)构建的,则最好的选择是使用 CDN(云前端)。如果对您来说更容易的话,您仍然可以将其部署到 docker,但您可能会达到成本和延迟将使 CDN 更具吸引力的程度,但这取决于您的用例。
对于第二个选项(运行 nextjs 或其他现代 React 框架),您将有两个选项:
希望有帮助