微服務的設計模式

Azure 雲端服務

微服務的目標是將應用程式分解為可獨立部署的小型自主服務,以提升應用程式發行的速度。 微服務架構也帶來了一些挑戰。 此處顯示的設計模式可協助減輕這些挑戰。

Microservices design patterns

大使 可用來以語言無關的方式卸載常見的用戶端連線工作,例如監視、記錄、路由和安全性(例如 TLS)。 大使服務通常部署為側車(請參閱下文)。

反損毀層 會實作新舊應用程式之間的外觀,以確保新應用程式的設計不受舊版系統的相依性所限制。

前端的 後端會為不同類型的用戶端建立個別的後端服務,例如桌面和行動裝置。 如此一來,單一後端服務就不需要處理各種用戶端類型的衝突需求。 此模式可藉由分隔用戶端特定考慮,協助讓每個微服務保持簡單。

大量隔離 每個工作負載或服務的重要資源,例如連線集區、記憶體和 CPU。 單一工作負載(或服務)無法使用所有資源,而耗盡其他資源。 此模式可藉由防止一項服務所造成的串聯失敗,來增加系統的復原能力。

閘道匯總 會將多個個別微服務的要求匯總成單一要求,減少取用者與服務之間的聊天。

閘道卸載 可讓每個微服務將共用服務功能,例如使用 SSL 憑證卸載至 API 閘道。

閘道路由會 使用單一端點將要求路由傳送至多個微服務,讓取用者不需要管理許多個別的端點。

傳訊橋接器 整合了與不同傳訊基礎結構建置的不同系統。

Sidecar 會將應用程式的協助程式元件部署為個別的容器或程式,以提供隔離和封裝。

Strangler Fig 支援應用程式的累加重構,方法是逐漸將特定功能片段取代為新的服務。

如需 Azure 架構中心上雲端設計模式的完整目錄,請參閱 雲端設計模式

下一步