此白皮書僅供歷史參考。有些內容可能已過時,有些連結可能無法使用。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
簡介
多層應用程式 (三層、n 層等) 幾十年來都是基石架構模式,而且仍然是使用者面向應用程式的熱門模式。雖然用來描述多層架構的語言有所不同,但多層應用程式通常包含下列元件:
-
呈現層:使用者直接互動的元件 (例如網頁和行動應用程式 UIs)。
-
邏輯層:將使用者動作轉譯為應用程式功能 (例如 CRUD 資料庫操作和資料處理) 所需的程式碼。
-
資料層:存放應用程式相關資料的儲存媒體 (例如資料庫、物件存放區、快取和檔案系統)。
多層架構模式提供一般架構,以確保分離和獨立可擴展的應用程式元件可以單獨開發、管理和維護 (通常是由不同的團隊)。
由於這種模式,網路 (層必須進行網路呼叫才能與另一個層互動) 充當層之間的界限,開發多層應用程式通常需要建立許多未區分的應用程式元件。其中一些元件包括:
-
定義用於層之間通訊的訊息佇列的程式碼
-
定義應用程式程式設計界面 (API) 和資料模型的程式碼
-
確保適當存取應用程式的安全相關程式碼
所有這些範例都可以視為「樣板」元件,雖然在多層應用程式中是必要的,但其實作在各個應用程式之間不會有很大的差異。
AWS 提供多種服務,可建立無伺服器多層應用程式,大幅簡化將此類應用程式部署到生產環境的程序,並消除與傳統伺服器管理相關的額外負荷。Amazon API Gateway
Amazon API Gateway 與 的整合 AWS Lambda 可讓使用者定義的程式碼函數直接透過 HTTPS 請求啟動。無論請求量為何,API Gateway 和 Lambda 都會自動擴展,以完全支援應用程式的需求 (請參閱 API Gateway Amazon API Gateway 配額和可擴展性資訊的重要備註)。透過結合這兩個服務,您可以建立一個層,讓您只編寫對應用程式重要的程式碼,而不是專注於實作多層架構的各種其他不同層面,例如架構高可用性、撰寫用戶端 SDKs、伺服器和作業系統 (OS) 管理、擴展和實作用戶端授權機制。
API Gateway 和 Lambda 可建立無伺服器邏輯層。根據您的應用程式需求,AWS 也提供建立無伺服器呈現層 (例如,使用 Amazon CloudFront
本白皮書著重於最熱門的多層架構範例,也就是三層 Web 應用程式。不過,您可以套用此多層模式遠超過典型的三層 Web 應用程式。
三層架構概觀
三層架構是多層架構最熱門的實作,由單一呈現層、邏輯層和資料層組成。下圖顯示簡單、通用三層應用程式的範例。

三層應用程式的架構模式
有許多絕佳的線上資源,可讓您進一步了解一般三層架構模式。此白皮書著重於此架構使用 Amazon API Gateway 和 的特定實作模式 AWS Lambda。