dubbo深入理解(1)

2021-08-08 01:46:27 字數 1929 閱讀 9713

1.dubbo是什麼?

dubbo是乙個服務框架,為了便於理解,舉乙個例子:

有一天,多啦a夢要去4s店買車,售車員會給我們提供一些車的型別(包括進口還是國產,賓士還是寶馬,50萬還是100萬),然後加入我們要買的是:進口寶馬100萬,然後我們把這個告訴給售車員,售車員在他們的售車系統上按照我們的條件進行篩選,然後給我們乙個地方,我們去看車,取車,拿回家用,我們買了,售車員就會在他們的系統上進行登記一次資訊,我們什麼時候買的,多少價錢車型號等。

dubbo官方給出的框架是

provider:暴露服務的服務提供方。 

consumer:呼叫遠端服務的服務消費方。 

registry:服務註冊與發現的註冊中心。 

monitor:統計服務的呼叫次調和呼叫時間的監控中心。 

container:服務執行容器。 所謂

soa也好,分布式服務框架也好,不是服務消費者從中介軟體(一般都是

zookeeper

)上去拿資料,而是服務消費者從中介軟體上拿到可用的服務生產者的集群位址,再從集群位址中選出乙個進行直連

。dubbo

這是我當時遇到的問題:

1.     為什麼不採用配置,把提供者的資訊配置到消費者裡面?

當服務越來越多時,服務

url配置管理變得非常困難,

f5硬體負載均衡器的單點壓力也越來越大。

此時需要乙個服務註冊中心,動態的註冊和發現服務,使服務的位置透明。

並通過在消費方獲取服務提供方位址列表,實現軟負載均衡和

failover

,降低對

f5硬體負載均衡器的依賴,也能減少部分成本。

2.     註冊中心的責任到底是什麼?

註冊中心只是在服務提供者向註冊中心提供某乙個服務,然後當消費者提供需要某個請求的時候,註冊中心在提交了的服務裡面查詢並返回給消費者,消費者拿到之後和提供者進行呼叫和業務邏輯的處理,註冊中心只是扮演了乙個傳遞的作用,並沒有實質性的作用,具體的功能呼叫是消費者和服務提供者之間的互相作用和配合。

所以dubbo是dubbo是乙個分布式服務框架,致力於提供高效能和透明化的rpc遠端服務呼叫方案,以及soa服務治理方案。簡單的說,dubbo就是個服務框架,如果沒有分布式的需求,其實是不需要用的,只有在分布式的時候,才有dubbo這樣的分布式服務框架的需求,並且本質上是個服務呼叫的東東,說白了就是個遠端服務呼叫的分布式框架。

備註:

f5硬體負載均衡器:是一種採用各種分配演算法把網路請求分散到乙個伺服器集群中的可用伺服器上去,通過管理進

入的web資料流量和增加有效的網路頻寬,從而使網路訪問者獲得盡可能最佳的聯網體驗的硬體裝置。 

soa:面向服務的架構,是乙個元件模型,它將應用程式的不同功能單元(稱為服務)通過這些服務之間定義良好的介面和契約聯絡起來。

rpc:(remote procedure call protocol)——遠端過程呼叫

協議,它是一種通過網路

從遠端電腦程式上請求服務,而不需要了解底層網路技術的協議。

Dubbo 深入理解

一.dubbo簡介 1 是什麼 是乙個分布式服務框架,致力於提供高效能和透明化的rpc遠端服務呼叫方案,以及soa服務治理方案。2 做什麼 3 四大特性 二.dubbo架構1 流程圖 節點角色說明 呼叫關係說明 2 配置方式 1 配置方式 xml 用於配置連線監控中心相關資訊,可選 協議配置由提供方...

深入理解模板1

1,模版引數可以有三種型別 1 型別 2 編譯時常量 3 其他模版.2,型別 include include using namespace std template class stack int main 3,編譯時常量 include include using namespace std t...

Hello World 深入理解 1 序言

程式為什麼要被編譯器編譯後才能執行?編譯器在把c語言程式轉換成可以執行的機器碼的過程中做了什麼?怎麼做的?最後編譯出來的可執行檔案裡面是什麼?除了機器碼還有什麼?他們怎麼存放的?怎麼組織的?include 是什麼意思?把stdio.h包含進來意味著什麼?c語言庫又是什麼?它怎麼實現的?不同的編譯器 ...