SOA架構和微服務架構的區別是什麼?
來源:rrd.me/fqdAN
SOA架構和微服務架構的區別
首先SOA和微服務架構一個層面的東西,而對於ESB和微服務閘道器是一個層面的東西,一個談到是架構風格和方法,一個談的是實現工具或元件。
2.微服務架構:其實和 SOA 架構類似,微服務是在 SOA 上做的昇華,微服務架構強調的一個重點是“業務需要徹底的元件化和服務化”,原有的單個業務系統會拆分為多個可以獨立開發、設計、執行的小應用。這些小應用之間透過服務完成互動和整合。
微服務架構 = 美團即時物流的分散式系統架構設計80%的SOA服務架構思想 + 100%的元件化架構思想 + 80%的領域建模思想
ESB和微服務API閘道器。
1.ESB(企業服務匯流排):簡單 來說 ESB 就是一根管道,用來連線各個服務節點。為了集 成不同系統,不同協議的服務,ESB 做了訊息的轉化解釋和路由工作,讓不同的服務互聯互通;
2.API閘道器:API閘道器是一個伺服器,是系統的唯一入口。從物件導向設計的角度看,它與外觀模式類似。
API閘道器封裝了系統內部架構,為每個客戶端提供一個定製的API。它可能還具有其它職責,如身份驗證、監控、負載均衡、快取、請求分片與管理、靜態響應處理。為什麼微服務一定要有閘道器?這篇推薦你看下。
API閘道器方式的核心要點是,所有的客戶端和消費端都透過統一的閘道器接入微服務,在閘道器層處理所有的非業務功能。通常,閘道器也是提供REST/HTTP的訪問API。服務端透過API-GW註冊和管理服務。
3.SOA架構特點
系統整合:站在系統的角度,解決企業系統間的通訊問 題,把原先散亂、無規劃的系統間的網狀結構,梳理成 規整、可治理的系統間星形結構,這一步往往需要引入一些產品,比如 ESB、以及技術規範、服務管理規範;這一步解決的核心問題是【有序】
系統的服務化:站在功能的角度,把業務邏輯抽象成 可複用、可組裝的服務,透過服務的編排實現業務的 快速再生,目的:把原先固有的業務功能轉變為通用 的業務服務,實現業務邏輯的快速複用;這一步解決 的核心問題是【複用】
業務的服務化:站在企業的角度,把企業職能抽象成 可複用、可組裝的服務;把原先職能化的企業架構轉變為服務化的企業架構,進一步提升企業的對外服務能力;“前面兩步都是從技術層面來解決系統呼叫、系統功能複用的問題”。第三步,則是以業務驅動把一個業務單元封裝成一項服務。這一步解決的核心問題是【高效】
微服務架構特點
1.透過服務實現元件化
開發者不再需要協調其它服務部署對本服務的影響。
2.按業務能力來劃分服務和開發團隊
開發者可以自由選擇開發技術,提供 API 服務
3.去中心化
每個微服務有自己私有的資料庫持久化業務資料
每個微服務只能訪問自己的資料庫,而不能訪問其它服務的資料庫
某些業務場景下,需要在一個事務中更新多個資料庫。這種情況也不能直接訪問其它微服務的資料庫,而是透過對於微服務進行操作。
資料的去中心化,進一步降低了微服務之間的耦合度,不同服務可以採用不同的資料庫技術(SQL、NoSQL等)。在複雜的業務場景下,如果包含多個微服務,通常在客戶端或者中間層(閘道器)處理。
4.基礎設施自動化(devops、自動化部署)
Java EE部署架構,透過展現層打包WARs,業務層劃分到JARs最後部署為EAR一個大包,而微服務則開啟了這個黑盒子,把應用拆分成為一個一個的單個服務,應用Docker技術,不依賴任何伺服器和資料模型,是一個全棧應用,可以透過自動化方式獨立部署。
每個服務執行在自己的程式中,透過輕量的通訊機制聯絡,經常是基於HTTP資源API,這些服務基於業務能力構建,能實現集中化管理(因為服務太多啦,不集中管理就無法DevOps啦)。
5.主要區別:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69940568/viewspace-2668871/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SOA架構和微服務架構的區別架構微服務
- 分散式架構和微服務架構的區別分散式架構微服務
- 微服務架構(一):什麼是微服務微服務架構
- 面試官靈魂三問:什麼是SOA?什麼是微服務?SOA和微服務有什麼區別?面試微服務
- 你和架構師的的區別是什麼?架構
- 【架構與設計】常見微服務分層架構的區別和落地實踐架構微服務
- 分層架構和SOA架構
- 什麼是微服務架構?什麼是服務註冊與發現微服務架構
- 為什麼要使用微服務架構?微服務架構
- 為什麼微服務架構需要聚合微服務架構
- 永別了,微服務架構!微服務架構
- 架構C01: 什麼是架構?為什麼做架構?架構師需要做什麼?架構
- 單體架構&微服務架構&中臺服務架構架構微服務
- H5架構和原生架構的區別H5架構
- 12-factor應用和微服務架構應用的區別微服務架構
- 架構演進之「微服務架構」架構微服務
- 架構之:微服務架構漫談架構微服務
- 微服務架構怎麼選?微服務架構
- 單體架構、微服務和無伺服器架構架構微服務伺服器
- 一篇故事告訴你什麼是微服務架構!微服務架構
- 解決方案架構、系統架構和企業架構區別架構
- [雲原生微服務架構](十)微服務架構的基礎知識微服務架構
- 軟體架構模式之微服務架構架構模式微服務
- Java架構-到底什麼才是業務架構?Java架構
- SOA/ESB架構升級之路:從微服務到ServiceMesh,再到Sermant架構微服務
- 微服務架構初探微服務架構
- 微服務 dubbospring 架構微服務Spring架構
- 微服務精華問答:什麼是微服務架構中的DRY?| 技術頭條微服務架構
- 聊聊雲原生和微服務架構微服務架構
- 微服務架構和設計模式 - DZone微服務微服務架構設計模式
- SpringCloud(1) ——回顧微服務和微服務架構SpringGCCloud微服務架構
- 什麼是架構師架構
- Android 什麼是架構?Android架構
- 什麼是Saas架構?架構
- 什麼是池架構?架構
- 什麼是Lambda架構架構
- VIE架構是什麼架構
- 什麼是AWS構架?