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

1.png
上圖引用自此

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

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

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

分享這篇文章的網址這篇文章的網址(可分享到FB、LINE):

用LINE分享給朋友: