dubbo簡介及簡單使用

2021-08-20 11:23:29 字數 2478 閱讀 8055

soa的架構表現層服務層是不同的工程。所以要實現商品列表查詢需要兩個系統之間進行通訊。

如何實現遠端通訊?

2、使用restful形式的服務:http+json。很多專案中應用。如果服務太多,服務之間呼叫關係混亂,需要**服務。

3、使用dubbo。使用rpc協議進行遠端呼叫,直接使用socket通訊。傳輸效率高,並且可以統計出系統之間的呼叫關係、呼叫次數。

隨著網際網路的發展,**應用的規模不斷擴大,常規的垂直應用架構已無法應對,分布式服務架構以及流動計算架構勢在必行,亟需乙個治理系統確保架構有條不紊的演進。

dubbo就是資源排程和治理中心的管理工具。

節點角色說明:

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

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

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

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

container: 服務執行容器。(spring容器)

呼叫關係說明:

0. 服務容器負責啟動,載入,執行服務提供者。

1. 服務提供者在啟動時,向註冊中心註冊自己提供的服務。

2. 服務消費者在啟動時,向註冊中心訂閱自己所需的服務。

3. 註冊中心返回服務提供者位址列表給消費者,如果有變更,註冊中心將基於長連線推送變更資料給消費者。

4. 服務消費者,從提供者位址列表中,基於軟負載均衡演算法,選一台提供者進行呼叫,如果呼叫失敗,再選另一台呼叫。

5. 服務消費者和提供者,在記憶體中累計呼叫次數和呼叫時間,定時每分鐘傳送一次統計資料到監控中心。

dubbo採用全spring配置方式,透明化接入應用,對應用沒有任何api侵入,只需用spring載入dubbo的配置即可,dubbo基於spring的schema擴充套件進行載入。

單一工程中spring的配置

id="***service"

class="com.***.***serviceimpl" />

id="***action"

class="com.***.***action">

name="***service"

ref="***service" />

bean>

遠端服務:在本地服務的基礎上,只需做簡單配置,即可完成遠端化:

將上面的 local.xml 配置拆分成兩份,將服務定義部分放在服務提供方remote-provider.xml,將服務引用部分放在服務消費方remote-consumer.xml

並在提供方增加暴露服務配置,在消費方增加引用服務配置

發布服務:

id="***service"

class="com.***.***serviceimpl" />

inte***ce="com.***.***service"

ref="***service" />

呼叫服務:

id="***service"

inte***ce="com.***.***service" />

id="***action"

class="com.***.***action">

name="***service"

ref="***service" />

bean>

註冊中心負責服務位址的註冊與查詢,相當於目錄服務(理解為中介),服務提供者和消費者只在啟動時與註冊中心互動,註冊中心不**請求,壓力較小。使用dubbo-2.3.3以上版本,建議使用zookeeper註冊中心。

zookeeper是apacahe hadoop的子專案,是乙個樹型的目錄服務,支援變更推送,適合作為dubbo服務的註冊中心,工業強度較高,可用於生產環境,並推薦使用

zookeeper的安裝:

SpringCloud簡介及與Dubbo的區別

springcloud是基於springboot提供了一套微服務解決方案,包括服務註冊與發現,配置中心,全鏈路監控,服務閘道器,負載均衡,熔斷器等元件,除了基於netflix的開源元件做高度抽象封裝之外,還有一些選型中立的開源元件。springcloud利用springboot的開發硬體性巧妙地簡化...

阿里dubbo框架使用系列 簡介

阿里的dubbo框架是乙個分布式服務的中介軟體,那麼什麼是分布式服務中介軟體呢?如圖所示我們,現在有乙個使用者系統,它對外提供乙個查詢使用者資訊的介面 這裡我們統稱為使用者服務 其它系統可以呼叫它,這裡我畫了三個使用者系統,代表著我們把使用者系統部署在了三颱伺服器上面,通常來說,像使用者查詢這種服務...

Dubbo背景簡介

一 介紹 dubbo 背景 大規模服務化之前,應用可能只是通過 rmi或 hessian 等工具,簡單的暴露和引用遠端服務,通過配置服務的 url位址進行呼叫,通過 f5等硬體進行負載均衡。1 當服務越來越多時,服務 url配置管理變得非常困難,f5硬體負載均衡器的單點壓力也越來越大。此時需要乙個服...