dubbo服務需要zookeeper服務的支持,之前我們已經(jīng)介紹過zookeeper的安裝配置,這里就不在贅述
成都創(chuàng)新互聯(lián)是一家專業(yè)提供巴楚企業(yè)網(wǎng)站建設,專注與網(wǎng)站建設、做網(wǎng)站、H5建站、小程序制作等業(yè)務。10年已為巴楚眾多企業(yè)、政府機構等服務。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進行中。
在本系統(tǒng)中的服務提供者(Provider) 由 tyh-manager-service 提供。 現(xiàn)在需要將此服務
發(fā)布到 dubbo 中, 并在 zookeeper 中進行注冊。
在 service 工程中需要增加對 dubbo 和 zookeeper 的依賴包。 增加依賴包在目前的項目
結構中需要先在 ycshop-parent 父工程中統(tǒng)一進行引用版本的管理。
父工程中的引用:
<properties>
<dubbo.version>2.6.2</dubbo.version>
<zookeeper.version>3.4.13</zookeeper.version>
<zkclient.version>0.1</zkclient.version>
<curator-versioin>2.8.0</curator-versioin>
</properties>
<!-- dubbo 相關 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>${dubbo.version}</version>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>${zookeeper.version}</version>
</dependency>
<dependency>
<groupId>com.github.sgroschupf</groupId>
<artifactId>zkclient</artifactId>
<version>${zkclient.version}</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
<version>${curator-versioin}</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<version>${curator-versioin}</version>
</dependency>
在 ycshop-manager-service 工程中增加對 dubbo 和 zookeeper 的依賴包引用。具體依賴如下:
<!-- dubbo 相關依賴 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<!-- 排除依賴。 處理對 spring 引用版本沖突問題 -->
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
</exclusion>
<exclusion>
<groupId>org.jboss.netty</groupId>
<artifactId>netty</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- zookeeper 的客戶端, 要連接 zookeeper, 需要把以下兩個 jar 包加進來 -->
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
</dependency>
<dependency>
<groupId>com.github.sgroschupf</groupId>
<artifactId>zkclient</artifactId>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
</dependency>
在 spring-service.xml 配置文件中增加一下配置:
<!-- 使用 dubbo 發(fā)布服務 -->
<!-- 服務提供者應用信息, 用于計算依賴關系 -->
<dubbo:application name="ycshop-manager" />
<!-- 注冊中心地址。 使用 zookeeper 作為注冊中心, 地址為 2.1 中所啟動的 zookeeper 地址。 還可以是配置多個注冊中心,
在 address 中使用逗號分割 -->
<dubbo:registry protocol="zookeeper" address="47.100.224.4:2181" />
<!-- 用 dubbo 協(xié)議在 20880 端口暴露服務 -->
<dubbo:protocol name="dubbo" port="20880" />
<!-- 聲明需要暴露的服務接口,ref 鏈接實現(xiàn)對象。 adminServiceImpl 這里是使用 自動掃描后默認的服務 bean 名稱 -->
<dubbo:service interface="cn.yuechenc.manager.interfaces.UserService"
ref="userServiceImpl" />
在 XML 文件中增加命名空間的引用:
配置文件說明:<dubbo:application name="tyh-manager" />
:是用來配置在注冊中心的名字, 標識我
們當前應用的一個名稱, 可以隨便起, 但是最好不要跟其他的應用重復, 最好跟你的工程名
相對應。dubbo:registry protocol="zookeeper" address="47.100.224.4:2181"
: 用于配置注冊中心的地址。 這里使用 zookeeper 協(xié)議, 并且地址為 47.100.224.4(zookeeper的安裝服務器地址。 ) 2181: zookeeper 默認的端口號(可以在 zookeeper 中進行配置)<dubbo:protocol name="dubbo" port="20880" />
: 協(xié)議配置, 用于配置提供服務的協(xié)議信息, 協(xié)議由提供方指定, 消費方被動接受。 這里使用 dubbo 協(xié)議, 從 20880 端口向注冊中心暴露服務提供方地址。
此時我們還無法啟動,因為項目里缺少cn.yuechenc.manager.interfaces.UserService
這個接口,所以啟動測試留到下一篇介紹
在本系統(tǒng)中 ycshop-manager-web 工程作為服務的消費者。 現(xiàn)在 web 工程需要通過 dubbo服務來引用 service 工程所提供的服務。
在 ycshop-manager-web 工程中添加對 dubbo 和 zookeeper 相關的依賴包。 Pom.xml 文件增加以下內容:
<!-- dubbo 相關依賴 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<!-- 排除依賴 -->
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
</exclusion>
<exclusion>
<groupId>org.jboss.netty</groupId>
<artifactId>netty</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- zookeeper 的客戶端, 你要連接 zookeeper, 需要把以下兩個 jar 包加進 來 -->
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
</dependency>
<dependency>
<groupId>com.github.sgroschupf</groupId>
<artifactId>zkclient</artifactId>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
</dependency>
<!-- JSON 相關 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
</dependencies>
在 spring-mvc.xml 文件中增加以下配置:
<!-- 引用 dubbo 服務 -->
<dubbo:application name="tyh.manager-web" />
<dubbo:registry protocol="zookeeper" address="47.100.224.4:2181" />
<dubbo:reference interface="cn.yuechenc.manager.interfaces.UserService"
id="userService" />
配置說明:<dubbo:application name="tyh.manager-web" />
:是用來配置在注冊中心的名字, 標識我們當前應用的一個名稱, 可以隨便起, 但是最好不要跟其他的應用重復, 最好跟你的工程名相對應。dubbo:registry
:注冊中心的地址dubbo:reference
: 服務所暴露的服務。 需要和服務引用同樣的接口。 (所以在 MVC 工程中需要引用 ycshop-manager-interfaces 接口)
同樣,這時候還不能啟動,啟動測試我們下節(jié)再介紹。
本文標題:分布式商城項目--dubbo服務的發(fā)布和引用。
當前鏈接:http://www.muchs.cn/article46/pieghg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、建站公司、外貿建站、微信小程序、網(wǎng)站收錄、用戶體驗
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)