雲端應用程式中的最佳做法
這些最佳做法可協助您在雲端中建置可靠、可調整且安全的應用程式。 其針對設計和實作有效率且穩固的系統、機制和方法,提供了指引和秘訣。 許多指引和秘訣也納入了可與 Azure 服務搭配使用的程式碼範例。 無論您的主機是 Azure 還是其他雲端平台,這些最佳做法都能適用於任何分散式系統。
最佳做法目錄
下表列出各種最佳做法。 相關要素或模式資料行包含下列連結:
- 最佳做法和相關設計模式可解決的雲端開發挑戰。
- 最佳做法所聚焦的 Microsoft Azure Well-Architected Framework 要素。
作法 | 總結 | 相關要素或模式 |
---|---|---|
API 設計 | 使用標準通訊協定和議定的資料格式來設計 Web API,以支援平台獨立性。 促進服務的演進,讓用戶端不需要進行修改就能探索功能。 藉由支援部分回應並提供能夠進行資料篩選和分頁的方式,來改善回應時間並防止暫時性錯誤。 | 設計和實作、效能效率、卓越營運 |
API 實作 | 實作 Web API,使其具有效率、回應性、可調整性和可用性。 讓動作具有等冪性、支援內容協商,並遵循 HTTP 規格。 處理例外狀況,並支援探索資源。 提供辦法來處理大型要求並將網路流量降至最低。 | 設計和實作、卓越營運 |
自動調整規模 | 將應用程式設計為會動態配置和取消配置資源,以滿足效能需求並將成本降至最低。 利用 Azure 監視器自動調整和許多 Azure 元件所提供的內建自動調整功能。 | 效能效率、成本最佳化 |
背景作業作業 | 將批次作業、處理工作和工作流程實作為背景作業。 使用 Azure 平台服務來裝載這些工作。 使用事件或排程來觸發工作,並將結果傳回給發出呼叫的工作。 | 設計和實作、卓越營運 |
Caching | 將資料複製到靠近應用程式的快速儲存體,以改善效能。 快取經常讀取但很少修改的資料。 針對資料的到期和並行處理進行管理。 了解如何填入快取和使用 Azure Cache for Redis 服務。 | 資料管理、效能效率 |
內容傳遞網路 | 使用內容傳遞網路 (CDN) 有效率地將 Web 內容傳遞給使用者,並減少 Web 應用程式的負載。 克服部署、版本設定、安全性和復原能力的挑戰。 | 資料管理、效能效率 |
資料分割 | 分割資料以改善可擴縮性、可用性和效能,並減少爭用和資料儲存成本。 以有效率的方式使用水平、垂直和功能資料分割。 | 資料管理、效能效率、成本最佳化 |
資料分割策略 (依服務) | 在 Azure SQL Database 和 Azure 儲存體服務 (例如 Azure 表格儲存體和 Azure Blob 儲存體) 中分割資料。 為您的資料建立分區,以分散負載、減少延遲和支援水平縮放。 | 資料管理、效能效率、成本最佳化 |
主機名稱保留 | 瞭解為何請務必在反向 Proxy 與其後端 Web 應用程式之間保留原始 HTTP 主機名稱,以及如何為最常見的 Azure 服務實作這項建議。 | 設計和實作、可靠性 |
訊息編碼考量 | 使用非同步訊息在系統元件之間交換資訊。 選擇最適合您資料的承載結構、編碼格式和序列化程式庫。 | 傳訊、安全性 |
監視和診斷 | 使用監視和診斷管線來追蹤系統健康情況、使用量和效能。 將監視資料轉換成可在各種情況下提供協助的警示、報告和觸發程序。 範例包括偵測和修正問題、找出潛在問題、符合效能保證,以及滿足稽核需求。 | 卓越營運 |
特定服務的重試指導 | 使用、調整及擴充 Azure 服務和用戶端 SDK 所提供的重試機制。 開發有系統且健全的方法來管理連線、作業和資源的暫時性問題。 | 設計和實作、可靠性 |
暫時性錯誤處理 | 處理因為網路或資源無法使用所造成的暫時性錯誤。 克服在開發適當重試策略時所面臨的挑戰。 避免複製重試程式碼層和其他反向模式。 | 設計和實作、可靠性 |
後續步驟
相關資源
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應