雲端服務 - Design Pattern (1)

基本介紹

教學目標

學習有關資料管理的設計模式,適用 Amazon 、 Google 、 Microsoft 等雲端服務。

重點概念

Cache-aside Pattern

模式說明

從資料儲存中載入需要的資料至快取,這個模式會改進效能同時協助維護快取與儲存之間的資料一致性。

情境描述

應用程式會使用快取優化重複存取資訊的操作,然而問題是快取資料常常會與儲存資料不一致的情況發生,因此需要實作策略協助確保快取資料更新至最新的狀態。

解決方案

Cache-aside Pattern

(參考資源: Cache-Aside Pattern )

使用情況

當快取資料集為靜態類型時,適合使用。

經驗分享

透過 Amazon 雲端服務實作 App 的 API 時,透過 Amazon EC2、Amazon RDS 和 Amazon ElatiCache 雲端服務實作此模式以最有效率的方式提供使用者最新內容。

Static Content Hosting Pattern

模式說明

部署靜態內容至雲端雲端儲存服務讓客戶端能直接進行存取,這個模式會減少直接存取所需伺服器的潛在成本。

情境描述

網站應用程式一般會包括一些靜態內容元素,雖然網站伺服器會優化請求動態產生快取頁面更有效率,但仍然還是需要處理下載靜態內容的請求。

解決方案

Static Content Hosting Pattern

(參考資源: Static Content Hosting Pattern )

使用情況

最小化網站管理的成本,同時網站中有許多靜態資源,適合使用。

經驗分享

透過 Amazon 雲端服務實作 App 相關的網站資源時,透過 Amazon EC2 、 Amazon S3 和 Amazon CloudFront 雲端服務實作此模式以最有效率的方式提供使用者最新內容。

Command and Query Responsibility Segregation (CQRS) Pattern

模式說明

隔離讀取資料和更新資料的操作,這個模式會最大化效能、延展性和安全性,同時提供高度系統彈性操作,以及預防來自不同領域層的合併更新所造成的衝突。

情境描述

傳統的資料管理系統,CRUD 操作皆是針對相同的資料儲存體進行處理,當資料量龐大時進行讀寫操作將會非常沒有效率。

解決方案

Command and Query Responsibility Segregation (CQRS) Pattern

(參考資源: Command and Query Responsibility Segregation (CQRS) Pattern )

使用情況

透過平行處理的方式針對資料進行多項協同領域的複雜寫入操作,以及需要有效率的進行讀取操作時,適合使用。

經驗分享

透過 Amazon 雲端服務實作 App 的 API 時,透過 Amazon EC2 、 Google BigQuery 和 Google Docs Spreadsheet 雲端服務分別實作命令模式和查詢模式,以最有效率的方式提供使用者最新內容。

相關資源