簡體   English   中英

使用S3作為靜態網頁,將EC2作為REST API一起使用? (AWS)

[英]Using S3 as static web page and EC2 as REST API for it together? (AWS)

我發現這個鏈接涉及將靜態數據和web api分離為靜態s3 Web服務器和用於api的bean stalk應用程序以及用於創建網站的ec2 web服務器。 Charles的答案是准確的,CORS是你如何解決在兩個域之間移動的問題。

如何將S3用作靜態網頁,將EC2用作REST API? (AWS)

我的問題是你為什么要這樣做?

我的一些想法是:

優勢 - 我們使用節點作為api的Web服務器,這將減輕節點進程的負擔。

就是這樣。

不僅僅使用Bean Stalk來完成這一切的缺點

增加了CORS的復雜性更新軟件更復雜似乎有點過分,除非你有大量的靜態數據,我不這樣做

我錯過了另一個優勢

將前端邏輯與后端邏輯分離並單獨部署它們有很多好處。

代碼分離

第一個重要原因是以這種方式執行操作允許您將業務邏輯(您的API)與您的設計(您的前端)分開。

您可以將這兩個項目保存在單獨的Git存儲庫中。 您可以讓設計人員根據需要為前端項目提供盡可能多的更新,而無需為工程師打擾。

在單個整體項目中執行此操作(例如,在Elastic Beanstalk上):幾乎不可能,因為設計人員需要通過工程團隊迭代他們的代碼。

部署分離

Web服務器很慢。 文件服務器(如S3)速度很快。 它們快速的原因是沒有“代碼”運行來從文件服務器訪問文件 - 只有一個文件正在下載。

例如,如果您從EC2實例提供單個Web應用程序,這意味着要查看頁面,您需要運行一些代碼來生成該HTML。

但是,如果將前端代碼部署到S3,則可以通過Web瀏覽器更快地直接下載該文件。

PROTIP :您還可以將您的S3網站置於CloudFront(CDN)之后,通過在世界各地的多個數據中心保留緩存副本來加快您的網站速度。

更快的迭代

當您將項目分開並單獨部署時,您可以更快地迭代。

假設您的前端團隊在網站上發現了一個錯誤。 他們可以輕松修補/發布修復程序而無需經過工程設計。

您的工程師也是如此 - 他們現在有更多時間專注於構建核心應用程序邏輯,並且可以部署修復程序而無需擔心UI更改等。

更簡單的產品邏輯

當您按照自己的描述單獨部署內容時,您還可以獲得簡化后端邏輯的好處。

通過讓您的核心工程師只構建API,並且不再擔心前端問題,您可以比其他方式更快地發布更新。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM