Java dubbo框架視頻教程之分布式框架搭建

Java dubbo框架視頻教程之分布式框架搭建

天津卓眾教育      2022-04-27 22:35:01     25

Java dubbo框架視頻教程之分布式框架搭建,Dubbo是一個分布式服務(wù)框架,致力于提供高性能和透明化的RPC遠(yuǎn)程服務(wù)調(diào)用方案,以及SOA服務(wù)治理方案。以下是一個簡單的dubbo架構(gòu)

課程價格 請咨詢

上課時段: 授課校區(qū):

詳細(xì)介紹

Dubbo是一個分布式服務(wù)框架,致力于提供高性能和透明化的RPC遠(yuǎn)程服務(wù)調(diào)用方案,以及SOA服務(wù)治理方案。以下是一個簡單的dubbo架構(gòu)圖。

小編從刀耕火種的原始web開發(fā)時代一直走到現(xiàn)在,感慨良多。從單體應(yīng)用,到mvc模型,再到使用webservice,企業(yè)服務(wù)總線,一直到dubbo,每一次理念的升級,都是帶來開發(fā)工作的解放。互聯(lián)網(wǎng)技術(shù)日新月異,活到老學(xué)到老是必須的。

Zookeeper搭建

從官網(wǎng)下載zookeeper作為服務(wù)注冊中心。解壓后進(jìn)入conf目錄,重命名zoo_simple.cfg為zoo.cfg.根據(jù)是windows還是linux其中zkServer.cmd或zkServer.sh。這樣服務(wù)就啟動起來了。注意clientPort=2181,客戶端使用這個端口和zookeeper通信。現(xiàn)在假設(shè)zookeeper所在機(jī)器域名為zooregistry.com。后文將會用到。

dubbo monitor安裝

下載

dubbo-monitor-simple-2.4.1-assembly.tar.gz解壓。打開conf/dubbo.properties,啟用配置

dubbo.registry.address=

zookeeper://zooregistry.com:2181。使用bin/start.bat或bin/start.sh其中dubbo monitor。monitor可以用來監(jiān)控分布式系統(tǒng)的運(yùn)行狀態(tài),并提供上線或下線服務(wù)等功能。

dubbo admin安裝

下載dubbo-admin-2.5.8這個war包解壓。修改WEB-INF/dubbo.properties。修改配置為

dubbo.registry.address=

zookeeper://zooregistry.com:2181.這里可以修改用戶名和密碼。將修改后的包放到tomcat/webapp/ROOT/目錄并啟動既可以。

dubbo admin可以簡單理解dubbo admin的加強(qiáng)版,兩者各有所長。這個步驟是非必須的,小編建議還是配置下。

Spring開發(fā)環(huán)境搭建

Api provider

以上配置的注冊中心和監(jiān)控中心后,就可以進(jìn)行系統(tǒng)開發(fā)了。我們使用maven管理項(xiàng)目。

服務(wù)提供者和消費(fèi)者需要一套接口,那么我們使用maven創(chuàng)建一個jar項(xiàng)目.例如我們在定義一個接口。

package io.kuaibao.provider.service;import java.io.Serializable;public interface ServerTimeService extends Serializable{String getTime();}

然后使用maven創(chuàng)建消費(fèi)者web項(xiàng)目,和一個提供者jar項(xiàng)目。

Provider開發(fā)

定義提供者bean文件

applicationProvider20883.xml。以下只列出核心代碼,有需求的話可以在github上下載源代碼試用。

<!--提供方應(yīng)用信息,用于計算依賴關(guān)系-->

<dubbo:application name="dubbo_provider3"/>

<!--使用zookeeper注冊中心暴露服務(wù)地址-->

<dubbo:registry address="zookeeper://zooregistry:2181"/>

<!--用dubbo協(xié)議在20883端口暴露服務(wù)-->

<dubbo:protocol name="dubbo"port="20883"/>

<dubbo:monitor protocol="registry"/>

<!--聲明需要暴露的服務(wù)接口-->

<dubbo:annotation package="io.kuaibao.provider.service"/>

實(shí)現(xiàn)服務(wù):

package io.kuaibao.provider.service.impl;import i.kuaibao.provider.service.ServerTimeService;import java.text.SimpleDateFormat;import java.util.Date;?com.alibaba.dubbo.config.annotation.Servicepublic class TimeServiceImpl implements ServerTimeService{SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");?Overridepublic String getTime(){System.out.println("invoke");return simpleDateFormat.format(new Date());}}

啟動服務(wù)者:

public class Main{public static void main(String[]args)throws IOException{ClassPathXmlApplicationContext classPathXmlApplicationContext=new ClassPathXmlApplicationContext("classpath*:applicationProvider20883.xml");System.in.read();}}

如果要啟動多個服務(wù)提供者只需要修改<dubbo:protocol name="dubbo"port="20883"/>并執(zhí)行即可。

Consumer開發(fā)

在spirngmvc.xml文件中進(jìn)行一下配置:

<dubbo:application name="dubbo_consumer222"/>

<!--使用multicast廣播注冊中心暴露發(fā)現(xiàn)服務(wù)地址-->

<dubbo:registry address="zookeeper://zooregistry:2181"/>

<dubbo:annotation package="io.kuaibao.consumer.controller"/>

<dubbo:consumer timeout="30000"/>

<dubbo:monitor protocol="registry"/>

<!--自動掃描 Controller-->

<context:component-scan base-package="io.kuaibao.consumer.controller"/>

注意服務(wù)在什么地方使用,就將dubbo配置放在什么容器中。我們這里直接在controller中使用,所以講dubbo放在mvc容器中。

此時我們可以在controller中使用 

com.alibaba.dubbo.config.annotation.Reference注解注入需要的service。

Java視頻下載

Dubbo:http://www.bjpowernode.com/javavideo/129.html

以上就是天津卓眾教育java培訓(xùn)機(jī)構(gòu)的小編針對“Java dubbo框架視頻教程之分布式框架搭建”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。

Java視頻教程

培訓(xùn)啦提醒您:交易時請核實(shí)對方資質(zhì),對于過大宣傳或承諾需謹(jǐn)慎!任何要求預(yù)付定金、匯款等方式均存在風(fēng)險,謹(jǐn)防上當(dāng)。