SpringBoot+dubbo+zookeeper 集成入門——provider(服務提供方)和consumer(服務消費方)

瞭解上一篇《SpringBoot+dubbo+zookeeper 集成入門——dubbo-admin和註冊中心

3:新建一個SpringBoot項目,項目名稱是ZookeeperProvider

pom.xml引用依賴

<dependency>
    <groupId>com.alibaba.boot</groupId>
    <artifactId>dubbo-spring-boot-starter</artifactId>
    <version>0.2.0</version>
</dependency>
<dependency>
    <groupId>org.apache.zookeeper</groupId>
    <artifactId>zookeeper</artifactId>
    <version>3.4.9</version>
</dependency>
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.48</version>
</dependency>
<!--  註冊中心的jar -->
<dependency>
    <groupId>com.wtmlzt</groupId>
    <artifactId>zookeeperInterface</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</dependency>

property配置信息

server.port = 80801

 ## Dubbo 服務提供者配置
dubbo.application.name=dubbo-provider
dubbo.registry.address=zookeeper://192.168.1.13:2181
dubbo.registry.protocol.name=dubbo
dubbo.registry.protocol.port=20880
dubbo.scan=com.wtmlzt.zookeeperProvider.service

OrderService接口類的實現

注意@Service不是spring的註解,而是dubbo的直接

import com.alibaba.dubbo.config.annotation.Service;

項目編譯運行,並查看dubbo-admin是否有服務生成

其中一個是OrderService,另一個是UserService

至此,服務提供方(provider)已生成成功

4:重新創建一個SpringBoot項目,項目名稱是ZookeeperConsumer

pom.xml配置(和ZookeeperProvider一樣)

<dependency>
    <groupId>com.alibaba.boot</groupId>
    <artifactId>dubbo-spring-boot-starter</artifactId>
    <version>0.2.0</version>
</dependency>
<dependency>
    <groupId>org.apache.zookeeper</groupId>
    <artifactId>zookeeper</artifactId>
    <version>3.4.9</version>
</dependency>
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.48</version>
</dependency>
<!--  註冊中心的jar -->
<dependency>
    <groupId>com.wtmlzt</groupId>
    <artifactId>zookeeperInterface</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</dependency>

property配置

server.port = 8082

##dubbo 服務消費者的基礎配置
dubbo.application.name=dubbo-consumer
dubbo.registry.address=zookeeper://192.168.1.13:2181
dubbo.registry.protocol.name=dubbo
dubbo.registry.protocol.port=20880
dubbo.scan=com.wtmlzt.zookeeperProvider.service

創建TestController測試請求類

注意:@Reference(version = "1.0.0")引用dubbo包的依賴

import com.alibaba.dubbo.config.annotation.Reference

並且版本號必須和服務提供方(ZookeeperProvider)的保持一致。當然版本號也可以不用寫!

運行項目,檢查dubbo-admin是否有服務消費方生成

5:使用postman模擬請求訪問zookeeperConsume的請求

查看ZookeeperConsumer日誌

查看ZookeeperProvider的日誌輸入

 

總結:至此Springboot+dubbo+zookeeper的簡單demo已經搭建完畢!當然在真實場景中SDZ的使用絕不僅僅是如此的簡單,還有涉及到負載均衡,請求容錯等等分佈式操作。在以後的日子,也會繼續學習SDZ的使用和原理,學無止盡嘛!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章