分布式中臺實踐 Dubbo的簡單實踐

2021-08-14 13:17:58 字數 3034 閱讀 2911

dubbo是在spring基礎之上做的擴充套件,也就是說阿里巴巴對於spring的效能、易用性還是非常的認可的。從使用角度來講,即使是大公司對於流行技術框架,也都細心研究。廢話不多說,下面我們從dubbo實踐的角度,講解dubbo的具體應用。

1、環境配置

如果服務端型別為web服務,則還需要配置web服務容器,例如tomcat。

在dubbo框架中,spring作為配置檔案的解析框架和服務提供框架。dubbo具體擴充套件了配置檔案的解析邏輯,能夠使得註冊配置檔案按照類似於spring配置檔案的形式配置。另外,spring可以高效的對外提供restful介面。tomcat作為對外服務的一種容器,服務端通過它對外提供服務。

dubbo框架是一種服務形式的抽象,可以結合不同的業務形式具體使用。服務端可以採用tomcat部署,也可以採用其他的專案形式提供部署。服務端自動實現服務註冊、服務傳輸協議等,使用者僅需要提供服務介面和服務內容即可。消費端實現了負載均衡,服務**等,使用者只需要提供具體的業務引用即可。

2、專案實踐

根據dubbo的架構,具體的專案實踐分為以下步驟:

1)定義服務端和消費端共同遵守的約定介面;

2)定義服務類,其實現約定介面。

3)將服務端註冊到配置端。配置端如果採用組播的形式,則不需要單獨配置。如果採用其他的形式,如zookeeper則需要提前配置伺服器。

4)定義消費端呼叫,並註冊消費端服務。服務端實現服務的負載均衡排程。

3、具體**

1)定義介面

package

com.

alibaba

.dubbo

.demo

;

public

inte***ce

demoservice

2、實現服務
package

com.

alibaba

.dubbo

.demo

.provider

;import

com.alibaba.dubbo.demo.demoservice

;public

class

demoserviceimpl

implements

demoservice

}

3、配置服務實現
<?xml version="1.0" encoding="utf-8"?>

xmlns=

""xmlns:xsi=

""xmlns:dubbo=

""xsi:schemalocation=

" /spring-beans.xsd /dubbo.xsd"

>

"demo-provider"

/>

address=

"multicast:"

/>

name=

"dubbo"

port=

"20880"

/>

inte***ce=

"com.alibaba.dubbo.demo.demoservice"

ref=

"demoservice"

/>

id="demoservice"

class=

"com.alibaba.dubbo.demo.provider.demoserviceimpl"

/>

4、啟動服務
import

;public

class

provider

);context

.start

();// press any key to exit

system.in

.read

();}

}

5、配置服務消費者
<?xml version="1.0" encoding="utf-8"?>

xmlns=

""xmlns:xsi=

""xmlns:dubbo=

""xsi:schemalocation=

" /spring-beans.xsd /dubbo.xsd"

>

"demo-consumer"

/>

address=

"multicast:"

/>

id="demoservice"

inte***ce=

"com.alibaba.dubbo.demo.demoservice"

/>

6、啟動服務消費者
import

com.alibaba.dubbo.demo.demoservice

;import

;public

class

consumer

);context

.start

();// obtain proxy object for remote invocation

demoservice

demoservice=(

demoservice

)context

.getbean

("demoservice"

);// execute remote invocation

string

hello

=demoservice

.sayhello

("world"

);// show the result

system

.out

.println

(hello);}

}

分布式 dubbo筆記

dubbo是一種分布式服務框架。webservice也是一種服務框架,但是webservice並不是分布式的服務框架,他需要結合f5實現負載均衡。因此,dubbo除了可以提供服務之外,還可以實現軟負載均衡。它還提供了兩個功能monitor 監控中心和呼叫中心。這兩個是可選的,需要單獨配置。dubbo...

Dubbo 分布式服務

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

ZooKeeper分布式鎖簡單實踐

zookeeper分布式鎖簡單實踐 在分布式解決方案中,zookeeper是乙個分布式協調工具。當多個jvm客戶端,同時在zookeeper上建立相同的乙個臨時節點,因為臨時節點路徑是保證唯一,只要誰能夠建立節點成功,誰就能夠獲取到鎖。沒有建立成功節點,就會進行等待,當釋放鎖的時候,採用事件通知給客...