1. 程式人生 > >SOA架構和微服務架構的比較

SOA架構和微服務架構的比較

SOA架構
SOA全稱(Service Oriented Architecture),中文意思為 “面向服務的架構”,它是一種設計方法,其中包含多個服務, 服務之間通過相互依賴最終提供一系列的功能。一個服務 通常以獨立的形式存在於作業系統程序中,各個服務之間 通過網路進行呼叫。 跟 SOA 相提並論的還有一個 ESB(企業服務匯流排),簡單 來說ESB就是一根管道,用來連線各個服務節點。為了集 成不同系統,不同協議的服務,ESB 做了訊息的轉化解釋 和路由工作,讓不同的服務互聯互通;
在這裡插入圖片描述
在這裡插入圖片描述
SOA 所解決的核心問題
1.系統整合(技術層面):站在系統的角度,解決企業系統間的通訊問題,把原先散亂、無規劃的系統間的網狀結構,梳理成 規整、可治理的系統間星形結構,這一步往往需要引入 一些產品,比如 ESB、以及技術規範、服務管理規範等, 這一步解決的核心問題是“有序” ;
2.系統的服務化(技術層面):站在功能的角度,把業務邏輯抽象成 可複用、可組裝的服務,通過服務的編排實現業務的 快速再生,目的是把原先固有的業務功能轉變為通用 的業務服務,實現業務邏輯的快速複用,這一步解決 的核心問題是“複用”;
3.業務的服務化(是以業務驅動把一個 業務單元封裝成一項服務):站在企業的角度,把企業職能抽象成 可複用、可組裝的服務;把原先職能化的企業架構轉變為服務化的企業架構,進一步提升企業對外服務 能力,這一步解決的核心問題是 “高效”。

微服務架構
微服務架構和SOA架構類似,微服務是在SOA上做 的昇華,微服務架構強調的一個重點是“業務需要徹底的 元件化和服務化”,即原有的單個業務系統會拆分為多個可 以獨立開發、設計、執行的小應用。這些小應用之間通過 服務完成互動和整合。 元件表示一個可以獨立更換和升級的單元,就像PC中的 CPU、記憶體、顯示卡、硬碟一樣,獨立且可以更換升級而不 影響其他單元。如果把PC作為元件以服務的方式構 建,那麼這臺PC只需要維護主機板和一些必要的外部設 備。CPU、記憶體、硬碟都是以元件方式提供服務,PC需 要呼叫CPU做計算處理,只需要知道CPU這個元件的地 址即可。
微服務的特徵 :
1.通過服務實現元件化
2. 按業務能力來劃分服務和開發團隊
3. 去中心化
4. 基礎設施自動化(devops、自動化部署)
SOA 和微服務架構的差別 :


1.微服務不再強調傳統SOA架構裡面比較重的ESB企業 服務匯流排,同時SOA的思想進入到單個業務系統內部實 現真正的元件化
2.Docker容器技術的出現,為微服務提供了更便利的條 件,比如更小的部署單元,每個服務可以通過類似Node 或者Spring Boot等技術跑在自己的程序中。
3. SOA注重的是系統整合方面,而微服務關注的是完全分離 。

上一篇:領域驅動設計
下一篇:TCP,IP通訊協議