事件
服務導向架構
提示
本內容節錄自《容器化 .NET 應用程式的 .NET 微服務架構》(.NET Microservices Architecture for Containerized .NET Applications) 電子書,可以在 .NET Docs 上取得,或免費下載可供離線閱讀的 PDF。
服務導向架構 (SOA) 是過度使用的詞彙,而且對不同的人有不同的意義。 但作為共同點,SOA 表示您透過將應用程式分解為多個服務 (通常是 HTTP 服務) 來建構應用程式,而服務可以分類為不同的型別 (例如子系統或層級)。
這些服務現在可以部署為 Docker 容器以解決部署問題,因為容器映像包含所有相依性。 不過,當您需要相應增加 SOA 應用程式時,如果以單一 Docker 主機為基礎部署,可能會有延展性和可用性挑戰。 Docker 叢集軟體或協調器可在這方面幫助您,後續各節所述之微服務部署方法會加以說明。
Docker 容器十分適用 (但不是必要) 於傳統服務導向架構和更進階的微服務架構。
微服務衍生自 SOA,但 SOA 與微服務架構不同。 SOA 一般會提供大型的中央訊息代理程式、組織層級的中央協調器和企業服務匯流排 (ESB) 這類功能。 但在大部分情況下,這些是微服務社群中的反向模式。 事實上,有些人認為「微服務架構就是 SOA。」
本指南著重在微服務,因為 SOA 方法與微服務架構中所使用的需求和技術相較之下較不精準。 如果您知道如何建置微服務應用程式,則也會知道如何建置較簡單的服務導向應用程式。
其他資源
訓練
模組
微服務應用程式是由獨立控制版本和可調整的客戶焦點式服務所組成,這些服務透過使用標準通訊協定和定義完善的介面彼此通訊。 每個微服務通常會封裝簡單的商務邏輯,您可以對其進行擴充或縮減。 您可以獨立測試、部署及管理微服務。 較小的小組會根據客戶案例來開發微服務,並選擇他們要使用的技術。 本課程模組會教導您如何使用 .NET 來建置您的第一個微服務。
文件
-
.NET 微服務:容器化 .NET 應用程式的架構 | 微服務架構的 30.000 英呎視圖。
-
每個微服務之資料自主性是微服務的其中一個重點。 每個微服務必須是其資料庫的唯一擁有者,不與任何其他人共用。 當然,微服務所有執行個體會連接到相同的高可用性資料庫。
-
Docker 應用程式中的狀態和資料管理。 微服務執行個體可消耗,但資料無法消耗。 了解如何使用微服務來處理此問題。