很多時候會聽到微服務、SOA、ESB之間有着聯系也有着區別,有時候了解了一下,過段時間有混餚模糊了今天看了一篇文章寫的很好,特地記錄一下。
原文地址:https://mp.weixin.qq.com/s/fCsVP5pO2vJX3DlMb-RdrA
一、SOA架構解析
SOA 全稱是: Service Oriented Architecture,中文釋義為 “面向服務的架構”它是一種設計理念,其中包含多個服務, 服務之間通過相互依賴最終提供一系列完整的功能。各個服務通常以獨立的形式部署運行,服務之間 通過網絡進行調用。架構圖如下:
二、 ESB(企業服務總線)
簡單來說 ESB 就是一根管道,用來連接各個服務節點。ESB的存在是為了集成基於不同協議的不同服務,ESB 做了消息的轉化、解釋以及路由的工作,以此來讓不同的服務互聯互通;
三、微服務
微服務架構和 SOA 架構非常類似,微服務只是的 SOA 升華,只不過微服務架構強調的是“業務需要徹底的組件化及服務化”,原單個業務系統會被拆分為多個可以獨立開發、設計、部署運行的小應用。這些小應用間通過服務化完成交互和集成。 組件表示的就是一個可以獨立更換和升級的單元,就像 PC 中的 CPU、內存、顯卡、硬盤一樣,獨立且可以更換升級而不影響其他單元。若我們把 PC 中的各個組件以服務的方式構 建,那么這台 PC 只需要維護主板(可以理解為ESB)和一些必要的外部設備就可以。CPU、內存、硬盤等都是以組件方式提供服務,例如PC 需要調用 CPU 做計算處理,只需知道 CPU 這個組件的地址就可以了。
微服務的特征
1. 通過服務實現組件化
2. 按業務能力來划分服務和開發團隊
3. 去中心化
4. 基礎設施自動化(devops、自動化部署)
微服務不再強調傳統SOA架構里面比較重的ESB企業服務總線,同時以 SOA 的思想進入到單個業務系統內部實 現真正的組件化。