我找到了这个链接,它讨论将静态数据和web分离为一个静态s3 web服务器和一个用于api和ec2 web服务器的豆茎应用程序来创建网站。查尔斯的答案是准确的,CORS是如何解决在这两个领域之间移动的问题。
How to use S3 as static web page and EC2 as REST API for it together? (AWS)
我的问题是你为什么要这么做?
我的一些想法是:
优势-我们使用节点作为api的web服务器,这将减轻节点进程的负担。
事情就是这样。
不是简单地用豆秆来做这一切的缺点
增加CORS更新软件的复杂性似乎过于复杂,除非您有大量的静态数据,而我没有。
我错过了另一个优势吗?
发布于 2017-01-04 16:32:43
将前端逻辑从后端逻辑中分离出来并单独部署有很多优点。
代码分离
第一个主要原因是这样做可以使您将业务逻辑( API)与设计(前端)分离开来。
您可以将两个项目保存在单独的Git repos中。你可以让设计师随心所欲地为前端项目提供更多的更新,而不需要麻烦工程师。
在一个单一的单块项目中(例如在ElasticBean秸秆上):这几乎是不可能的,因为设计人员需要在工程团队中迭代他们的代码。
部署分离
Web服务器速度很慢。文件服务器(如S3)速度很快。它们运行速度快的原因是没有从文件服务器访问文件的“代码”--只有一个文件正在下载。
例如,如果您有一个来自EC2实例的单块web应用程序,这意味着要查看页面,需要运行一些代码来生成该HTML。
但是,如果将前端代码部署到S3,则web浏览器可以更快地直接下载该文件。
PROTIP:你也可以把你的S3网站放在CloudFront ( CDN)后面,通过在世界各地的多个数据中心保存一个缓存的副本来加速你的网站。
快速迭代
当您将项目分开并单独部署时,您可以更快地迭代。
假设你的前端团队在网站上发现了一个漏洞。他们可以很容易地修补/发布修复程序,而无需经过工程。
您的工程师也是如此--他们现在有更多的时间专注于构建核心应用程序逻辑,并且可以部署修复程序,而不必担心UI更改等等。
简单乘积逻辑
当您像前面所描述的那样分别部署时,您还可以获得简化后端逻辑的好处。
通过让您的核心工程师只构建API,并且不再担心前端的问题,您可以更快地发布更新。
https://stackoverflow.com/questions/41467395
复制相似问题