

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 雲端設計模式、架構和實作
<a name="introduction"></a>

*Amazon Web Services (AWS)，Anitha Deenadayalan*

*2024 年 5 月* ([文件歷史記錄](doc-history.md))

本指南提供使用 AWS 服務實作常用現代化設計模式的指引。越來越多現代應用程式是透過使用微服務架構來達成可擴展性、改善發行速度、減少變更的影響範圍，以及減少迴歸的設計。如此可改善開發人員的生產力並提高靈活度、獲得更出色的創新能力，並更能專注在業務需求上。微服務架構還支援為服務和資料庫使用最佳技術，並提倡多語言程式碼和多語言持續性。

傳統上，單一應用程式會在單一程序中執行、使用一個資料存放區，以及在垂直擴展的伺服器上執行。相較之下，現代微服務應用程式是精細的、具有獨立的故障網域、在整個網路上作為服務執行，並且可以根據使用案例使用多個資料存放區。服務水平擴展，而單一交易可能跨越多個資料庫。開發團隊在使用微服務架構開發應用程式時，必須專注於網路通訊、多語言持續性、水平擴展、最終一致性以及跨資料存放區的交易處理。因此，現代化模式對於解決現代應用程式開發中常見的問題而言相當重要，且有助於加速軟體交付。

本指南為雲端架構師、技術主管、應用程式和企業擁有者，以及希望根據架構良好的最佳實務為設計模式選擇合適雲端架構的開發人員提供技術參考資料。本指南中討論的每個模式都針對微服務架構中的一或多個已知案例進行解決。本指南討論與每個模式相關的問題和考量事項、提供高階架構實作，並說明該模式的 AWS 實作。開放原始碼 GitHub 範例和研討會連結會在提供時提供。

本指南涵蓋下列模式：
+ [防損毀層](acl.md)
+ [API 路由模式](api-routing.md)：
  + [主機名稱路由](api-routing-hostname.md)
  + [路徑路由](api-routing-path.md)
  + [http 標頭路由](api-routing-http.md)
+ [斷路器](circuit-breaker.md)
+ [事件來源](event-sourcing.md)
+ [六角形架構](hexagonal-architecture.md)
+ [發布-訂閱](publish-subscribe.md)
+ [使用輪詢重試](retry-backoff.md)
+ [系列事件模式](saga.md)：
  + [系列事件編排](saga-choreography.md)
  + [系列事件協同運作](saga-orchestration.md)
+ [散佈集合](scatter-gather.md)
+ [Strangler Fig](strangler-fig.md)
+ [交易寄件匣](transactional-outbox.md)

## 目標業務成果
<a name="targeted-business-outcomes"></a>

透過使用本指南中討論的模式將應用程式現代化，您可以：
+ 設計並實作可靠、安全且具有營運效率的架構，並針對成本和效能進行最佳化。
+ 縮短需要這些模式的使用案例週期時間，以便您可以專注於組織特定的挑戰。
+ 使用 AWS 服務標準化模式實作來加速開發。
+ 協助您的開發人員建置現代應用程式，而不會有老舊技術的限制。