日常梳理 soa框架 微服務理解

2021-10-19 07:37:31 字數 1894 閱讀 5669

微服務的特徵

soa 和微服務架構的差別

dubbo

此為工作過程中自我總結,在探索中。

soa(service oriented architecture)「面向服務的架構」,是一種架構思想。esb 是實現 soa 的主要技術之一。

esb(企業服務匯流排),簡單 來說 esb 就是一根管道,用來連線各個服務節點。為了整合不同系統,不同協議的服務,esb 做了訊息的轉化解釋和路由工作,讓不同的服務互聯互通;

​ 1.系統整合:站在系統的角度,解決企業系統間的通訊問 題,把原先散亂、無規劃的系統間的網狀結構,梳理成規整、可治理的系統間星形結構,這一步往往需要引入 一些產品,比如 esb、以及技術規範、服務管理規範;這一步解決的核心問題是**【有序】**

​ 2.系統的服務化:站在功能的角度,把業務邏輯抽象成可復用、可組裝的服務,通過服務的編排實現業務的快速再生。目的:把原先固有的業務功能轉變為通用的業務服務,實現業務邏輯的快速復用;這一步解決的核心問題是**【復用】**

​ 3.業務的服務化:站在企業的角度,把企業職能抽象成可復用、可組裝的服務;把原先職能化的企業架構轉變為服務化的企業架構,進一步提公升企業的對外服務能力;**前面兩步都是從技術層面來解決系統呼叫、系統功能復用的問題。第三步,則是以業務驅動把乙個 業務單元封裝成一項服務。**這一步解決的核心問題是【高效】

​ 1. 通過服務實現元件化

​ 2. 按業務能力來劃分服務和開發團隊

​ 3. 去中心化

​ 4. 基礎設施自動化(devops、自動化部署)

​ 1. 微服務去中心化,去掉esb企業匯流排。微服務不再強調傳統soa架構裡面比較重的esb企業服務匯流排,同時soa的思想進入到單個業務系統內部實現真正的元件化

2. docker容器技術的出現,為微服務提供了更便利的條件,比如更小的部署單元,每個服務可以通過類似node或者spring boot等技術跑在自己的程序中。
soa注重的是系統整合方面,而微服務關注的是完全分離

dubbo 是乙個分布式服務框架,致力於提供高效能和透明化的 rpc 遠端服務呼叫方案,以及 soa 服務治理方案。

在springcloud體系中實現rpc的元件有2個,乙個是ribbon,另乙個是feign,而且feign在底層封裝了ribbon,以更友好,更靈活的形式展現在了我們眼前

dubbo 角色介紹

registry

註冊中心. 是用於發布和訂閱服務的乙個平台.用於替代 soa 結構體系框架中的 esb 服務匯流排的。

consumer

服務的消費者, 就是服務的客戶端.

消費者必須使用 dubbo 技術開發部分**. 基本上都是配置檔案定義.

provider

服務的提供者, 就是服務端.

服務端必須使用 dubbo 技術開發部分**. 以配置檔案為主.

container

容器. dubbo 技術的服務端(provider), 在啟動執行的時候, 必須依賴容器才能正常啟動.

預設依賴的就是 spring 容器. 且 dubbo 技術不能脫離 spring 框架.

在 2.5.3 版本的 dubbo 中, 預設依賴的是 spring2.5 版本技術. 可以選用 spring4.5 以下版本.

在 2.5.7 版本的 dubbo 中, 預設依賴的是 spring4.3.10 版本技術. 可以選擇任意的 spring版本.

微服務與SOA

過去的幾年來,微服務 這個術語逐漸得到關注,它描述的是由一系列更小的服務所組成的架構。在qcon san francisco 2012上,thoughworks的james lewis針對這個概念發表了演講,同時還就這個話題與martin fowler合作撰寫了一篇文章。最近,steve jones...

SOA 與 微服務的區別

什麼是soa soa service oriented architecture 面向服務架構,它可以根據需求通過網路對鬆散耦合的粗粒度應用元件進行分布式部署 組合和使用。服務層是soa的基礎,可以直接被應用呼叫,從而有效控制系統中與軟體 互動的人為依賴性。soa是一種粗粒度 松耦合服務架構,服務之...

SOA 與 微服務的區別

什麼是soa soa service oriented architecture 面向服務架構,它可以根據需求通過網路對鬆散耦合的粗粒度應用元件進行分布式部署 組合和使用。服務層是soa的基礎,可以直接被應用呼叫,從而有效控制系統中與軟體 互動的人為依賴性。soa是一種粗粒度 松耦合服務架構,服務之...