16個架構必知領域之「微服務」

微服務 (Microservices) 是一種軟件架構風格,它是以專注於單一責任與功能的小型功能區塊 (Small Building Blocks) 爲基礎,利用模塊化的方式組合出複雜的大型應用程序,各功能區塊使用與語言無關 (Language-Independent/Language agnostic) 的 API 集相互通信。

微服務的起源是由 Peter Rodgers 博士於 2005 年度雲計算博覽會提出的微 Web 服務 (Micro-Web-Service) 開始,Juval Löwy 則是與他有類似的前導想法,將類別變成細粒服務 (granular services),以作爲 Microsoft 下一階段的軟件架構,其核心想法是讓服務是由類似 Unix 管道的訪問方式使用,而且複雜的服務背後是使用簡單 URI 來開放接口,任何服務,任何細粒都能被開放 (exposed)。這個設計在 HP 的實驗室被實現,具有改變複雜軟件系統的強大力量。

2014年,Martin Fowler 與 James Lewis 共同提出了微服務的概念,定義了微服務是由以單一應用程序構成的小服務,自己擁有自己的行程與輕量化處理,服務依業務功能設計,以全自動的方式部署,與其他服務使用 HTTP API 通信。同時服務會使用最小的規模的集中管理 (例如 Docker) 能力,服務可以用不同的編程語言與數據庫等組件實現。

一線實踐案例

會議演講推薦

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章