微服務總體系統部署架構

** 本文同步發表於 FB社群-軟體設計鮮思維 **

微服務總體系統部署架構

Client (用戶端)

  • 通常爲使用者界面 (User Interface),例如網頁 (Web Page) 。
  • 用戶端可以透過 API Gateway 取得系統提供的服務。
  • 除了使用者介面外,也可以是其它裝置,例如 Mobile App,以及來自外部系統的 Request。

Identity Provider (身份辨識提供者)

  • 將來自用戶端的請求 (request) 傳遞給身份提供者,身份提供者對客戶端的請求進行身份驗證並將請求傳達給 API Gateway。
  • 通過定義良好 (well defined) 的 API Gateway,將請求轉派 (delegate) 至系統內部的微服務。

API Gateway

  • 用戶端不直接調用 (invoke) 服務,而是透過 API Gateway (閘道) 擔任進入點 (entry point),將請求轉發至適當的微服務。
  • 收到用戶端的請求後,內部架構由微服務組成,微服務通過訊息的相互傳遞,以處理用戶端請求。

使用 API Gateway 的好處

  • 對所有的微服務形成良好的封裝 (encapsulation),內部微服務的變動不會影響到用戶端。
  • 可以將外部通用的協定 (protocol),轉換為 Intranet 內部所使用特定的通訊協定。
  • 可以提供系統橫切 (cross-cut) 的非功能性需求,例如安全性 (security)、負載平衡 (load balance) 等。

Static Content (靜態內容)

將微服務處理後的靜態內容,部署至雲端平台的存儲機制,該機制可以經由內容傳遞網絡 (CDN, Content Delivery Network) 傳回給用戶端,進而可以提供效能、可擴展與較低成本網路傳遞。

Service Discovery (服務檢索)

提供一種目錄服務 (directory service) 的方式,而可以透過多樣化的檢索方式來取得所對應的微服務。

System Management (系統管理)

負責系統節點 (node) 的負載平衡,以及檢測故障 (failures)。

文章導覽

   

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。