1. 程式人生 > >微服務、SOA、ESB比較

微服務、SOA、ESB比較

很多時候會聽到微服務、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 的思想進入到單個業務系統內部實 現真正的元件化。