Dubbo 分布式服務框架(入門)

2021-10-17 14:43:34 字數 2824 閱讀 7157

dubbo 是乙個分布式服務框架,致力於提供高效能和透明化的rpc遠端服務呼叫方案,可以和spring框架無縫整合。

dubbo 採用的是一種非常簡單的模型,要麼是提供方提供服務,要麼是消費方消費服務,所以基於這一點可以抽象出服務提供方(provider)和服務消費方(consumer)兩個角色。

dubbo 致力於提供高效能和透明化的rpc遠端服務呼叫方案,以及soa服務治理方案;

①服務定義:服務是圍繞服務提供方和服務消費方的,服務提供方實現服務,而服務消費方呼叫服務。

②服務註冊:對於服務提供方,它需要發布服務,而且由於應用系統的複雜性,服務的數量、型別也不斷膨脹;對於服務消費方,它最關心如何獲取到它所需要的服務,而面對複雜的應用系統,需要管理大量的服務呼叫。而且,對於服務提供方和服務消費方來說,他們還有可能兼具這兩種角色,即需要提供服務,又需要消費服務。

通過將服務統一管理起來,可以有效地優化內部應用對服務發布/使用的流程和管理。服務註冊中心有如下幾種型別可供選擇:

multicast註冊中心(測試)、zookeeper註冊中心(官方推薦)、redis註冊中心、******註冊中心

③服務監控

無論是服務提供方,還是服務消費方,他們都需要對服務呼叫的實際狀態進行有效的監控,從而改進服務質量。

④遠端通訊與資訊交換

遠端通訊需要指定通訊雙方所約定的協議,在保證通訊雙方理解協議語義的基礎上,還要保證高效、穩定的訊息傳輸。dubbo繼承了當前主流的網路通訊框架,主要包括如下幾個:

1.2.1註冊中心

public

inte***ce service

1.2.2服務提供方

(一)實現類

/*

* 服務提供方

* */

public

class

userserviceimpl implements service

}

(二)配置檔案

!--應用名稱--

>

"userservice_provider"

/>

<

!--指定註冊中心的位址--

>

"multicast:"

/>

<

!--使用協議和埠號--

>

"dubbo" port=

"20880"

/>

<

!--發布服務介面 ref放實現類--

>

="cn.tx.service.service"

ref=

"userservice"

/>

<

!--使用bean管理實現類--

>

"userservice"

class

="cn.tx.service.impl.userserviceimpl"

/>

<

/beans>

(三)測試方法

public

class

userservletboot

}

1.2.3服務消費方

(一)配置檔案

!--應用名稱--

>

"userservice_consumer"

/>

<

!--註冊中心的位址--

>

"multicast:"

/>

<

!--可以使用服務--

>

="cn.tx.service.service" id=

"userservice"

/>

<

/beans>

(二)測試方法

@runwith

(springjunit4classrunner.

class

)@contextconfiguration

("classpath:dubbo_consumer.xml"

)public

class

consumertest

}

初識分布式服務框架dubbo

dubbo是乙個分布式服務框架,以及soa治理方案。其功能主要包括 高效能nio通訊及多協議整合,服務動態定址與路由,軟負載均衡與容錯,依賴分析與降級等。dubbo底層是tcp協議的netty nio spring boot底層是http協議 dubbo的七大標籤 config 配置層,對外配置介面...

Dubbo (開源分布式服務框架)

provider 暴露服務方稱之為 服務提供者 consumer 呼叫遠端服務方稱之為 服務消費者 registry 服務註冊與發現的中心目錄服務稱之為 服務註冊中心 monitor 統計服務的呼叫次數和呼叫時間的日誌服務稱之為 服務監控中心 1 連通性 註冊中心負責服務位址的註冊與查詢,相當於目錄...

Dubbo 分布式服務

隨著網際網路的發展,應用的規模不斷擴大,常規的垂直應用架構已無法應對,分布式服務架構以及流動計算架構勢在必行,亟需乙個治理系統確保架構有條不紊的演進。垂直應用架構 分布式服務架構 流動計算架構 在大規模服務化之前,應用可能只是通過rmi或hessian等工具,簡單的暴露和引用遠端服務,通過配置服務的...