关于 Web 应用程序架构的一般查询,尤其是前端

General query regarding web application architecture, especially front end

我们的应用程序(最初可通过网络访问,后来可通过移动应用程序 and/or 桌面应用程序访问)有一个应用程序服务器,它服务于内部 API 将由所有端点驱动(React用于网络,iOS/Android 用于未来的移动设备等)。 app.<mydomain>.com 上的这些端点可以访问此应用程序服务器 - 目前这是通过托管在 heroku 上的 Django-REST 框架支持的后端实现的。

我们还有一个登陆页面,将由 www.<mydomain>.com 提供。

我的问题实际上是关于为登陆页面提供服务的服务器。显然,它将仅提供静态内容、着陆页内容和静态 React 应用程序 JS,当它必须发出请求和获取数据时,这些 JS 将参与 app.<mydomain>.com

显然,在这种情况下,我不需要在后端使用脚本引擎。您建议我使用什么来提供登录页面内容和静态反应应用程序代码?简单的apache服务器?还要别的吗?我们的应用是 U.S。只有在这一点上,通过 CloudFront 或任何其他 CDN 进行部署是否有意义?

如有任何建议,我将不胜感激。

静态内容最好由快速的 http 服务器提供。我个人的偏好是 nginx,因为它的配置简单且性能出色,但 apache 也可以。
就像将 html 上传到服务器一样简单。话虽这么说,但有几点需要牢记。花一些时间为不同的文件类型配置缓存 headers。自动化部署过程,例如在你推送到 repo 之后让 Ansible 部署你的 web 内容,或者把它变成一个 docker 容器。这应该足以每天处理数千个请求。如果您的规模更大,那么 CDN 是一个有效的改进点,同时可以扩展您的 Web 服务器并进一步改进缓存和压缩。 加分项:您的 ngnix 还可以充当面向其余后端的非常有效的反向代理。您可以轻松设置负载平衡和 ssl - 这样您就可以专注于快速的业务运营。
快乐黑客。