大師的定義
微服務不是一個框架,也不是一個系統,微服務是一種架構風格。
微服務致力於鬆耦合和高內聚,採用獨立的業務邏輯封裝,接受請求、處理業務邏輯、返回響應,而且採用簡單的REST風格,避免複雜的協議,最終實現敏捷開發。
Martin Flower
《Microservices》作者,敏捷開發創始人之一
微服務,也被稱爲微服務體系結構,是一種架構風格。
通過將應用程序分解爲一系列鬆散耦合的服務,來實現業務功能。微服務支持大型複雜應用的持續交付/部署。微服務讓公司/組織能夠自由發展自己的技術堆棧,不會被當前技術堆棧綁定。
Chris Richardson
《POJOs in Action》作者,CloudFoundry.com的創建者之一
如何選擇架構風格
兩位大師都提到了架構風格,除了微服務架構,我們知道另一個架構風格是單體架構,這是傳統的架構風格,對許多應用程序來說仍然是一個不錯的選擇,但是,它確實存在許多限制和問題,因此對於大型/複雜應用程序,更好的選擇是微服務架構。
微服務架構的模式集合
微服務架構是一組架構模式和特性的集合,這個集合很大程度上定義了什麼是微服務,也說明了如何應用微服務架構來構建大型/複雜應用程序。
- 分解模式
- 部署模式
- 公共特性
- 通信模式
- 外部訪問模式
- 服務發現模式
- 可靠特性
- 數據管理模式
- 安全特性
- 測試特性
- 可監控特性
- UI模式