微服務 (Microservices)

行動版 for , 瀏覽人次: 990  , SSL Connection SSL
  • 最近常常聽到資訊在說微服務 (Microservices),彷彿是新的流行架構,究竟微服務是一種怎樣的架構方式?顧名思義,微服務就是專注於單一責任與小型功能模組的方式來架構,設計微服務的重點正是精密的顆粒度,且各服務可有獨立的資料庫。微服務應用程式可包容多種不同技術之微服務功能,與大型單一式系統的最大差異在於部署方式。在微服務架構型態中,開發人員獨立建構並封裝幾個較小的應用程式,分別建置應用程式的一部分。

    1.png
    上圖引用自此

    並不是所有的資訊單位都適合採用微服務架構,如資訊單位人力不足,微服務的測試與維運監控變得更加複雜,分散式的資料庫也是一個難題,資訊源來自不同的微服務,面對某些服務出錯或改動時所造成的影響,都需要有技術人員去troubleshooting,因此不要盲目的追求微服務架構。

    ThoughtWorks首席科學家Martin Fowler提醒,企業在採用微服務之前需先評估:

    1. 應用程式必須具備快速建置的能力,必須高度自動化。
    2. 由於微服務是靠著許多鬆散耦合(Loosely-Coupled)的服務組成,「系統運作時必定會故障,而且不容易發現問題在哪」,基本必須監控的項目包含系統出錯的次數以及服務可用性。
    3. 開發團隊與維運團隊得更密切合作。詳細可參考此篇文章
回 文章列表頁