多層架構
多層體系結構也稱為 n 層體系結構。在這樣的體系結構中,應用程序被開發和分布在多個層中。層數取決于業務需求,但三層體系結構是首選,也是最常用的。
此三層體系結構包括表示層、邏輯層和數據層。
用戶直接與表示層交互。邏輯層包含將用戶的操作轉換為應用程序的行為的代碼。數據層由保存與應用程序相關的數據的存儲組成。
可以在整體式架構中使用數千臺服務器來提高應用程序的性能。這種無服務器多層體系結構模式消除了服務器管理。
以下是使用由 AWS 管理的無服務器服務的幾個好處:
無需選擇、修補或管理操作系統
無需監控、橫向擴展或保護服務器
不會因過度配置而對基礎架構成本造成風險
不會因資源調配不足而對應用程序性能造成風險
無服務器服務
上述所有服務均可自動擴展,以支持應用程序的確切需求。
無服務器架構
表示層
在上述架構中,靜態內容托管在 Amazon S3 上,并由 Amazon 云Front 分發。在 Amazon S3 上托管靜態網站內容是在基于服務器的基礎設施上托管內容的經濟型替代方法。此外,大量數據可以存儲在 Amazon S3 中。Amazon CloudFront 是一個內容交付網絡,用于緩存靜態內容并提供動態和靜態內容,從而縮短網頁加載時間并降低網絡帶寬成本。
AWS 認知用戶池是一個用戶目錄,為應用程序用戶提供注冊和登錄選項。它還可以控制誰可以訪問亞馬遜 API 網關中的 API。
邏輯層
對于動態內容路由 53,通過 AWS WAF 將請求發送到 API 網關,并從 API 網關 Lambda 函數觸發數據并將其存儲在 Amazon S3 和 DynamoDB 或 AWS Aurora 中。
通過將亞馬遜的 API 網關與 AWS Lambda 集成,可以直接通過 HTTPS 請求觸發代碼函數。無論所需的請求量如何,API 網關和 Lambda 都會自動擴展。這兩項服務允許專注于對應用程序重要的代碼,而不是專注于實現多層體系結構的其他各個方面。
對于網絡隱私,AWS 能夠在亞馬遜 VPC 中創建 lambda 函數。
AWS WAF 是一種 Web 應用程序防火墻,可以部署在云上,以保護應用程序免受 DDoS 攻擊。WAF 通過定義安全規則來允許或阻止流量。亞馬遜 Route 53 可以通過 AWS WAF 將用戶的請求連接到云前分發。
AWS Glue 可以根據獲取新數據集等事件運行 ETL(提取、轉換和加載)作業。在上述架構中,一旦新數據(日志)在 Amazon S3 中可用,Glue 就會運行 ETL 作業,并且這些日志將被推送到 Amazon CloudWatch,并且可以通過 Amazon SNS 從 Amazon CloudWatch 發送通知。
數據層
根據應用程序方案,AWS Lambda 會將數據存儲到亞馬遜動態數據庫或 AWS Aurora。
Amazon DynamoDB 能夠存儲無限可擴展的 NoSQL 數據庫,還提供預置和按需容量模式,以便可以通過指定每個工作負載的容量來優化成本。
AWS Aurora 是一種與 MySQL 和 PostgreSQL 兼容的完全托管的關系數據庫服務,專為傳統企業數據庫而構建,傳統企業數據庫需要具有開源數據庫成本效益的性能和可用性。它能夠根據應用程序的需求自動啟動、關閉和擴展容量。它是一種經濟高效的解決方案,適用于不頻繁或不可預測的工作負載。
亞馬遜雅典娜/亞馬遜紅移頻譜使用 AWS Glue 作為存儲和檢索表元數據的中心位置。它具有分析非結構化,半結構化和結構化數據存儲的能力。雅典娜還可以生成報告,亞馬遜快速查看可以與雅典娜集成,以便輕松實現數據可視化。
根據最佳實踐,所有服務都與 AWS IAM 角色連接。在許多情況下,可以利用此 AWS 托管服務,而不是管理典型的基于服務器的基礎設施。在這種無服務器多層架構的幫助下,可以輕松創建易于維護、分離、安全、擴展且高度可用的生產應用程序組件。
審核編輯:郭婷
-
服務器
+關注
關注
12文章
9234瀏覽量
85643 -
AWS
+關注
關注
0文章
432瀏覽量
24404
發布評論請先 登錄
相關推薦
評論