SpringBoot整合Dubbo的Demo

注:百度找了一点资料,然后融合整理后记录如下的步骤,仅用于笔记。

demo项目的结构:

Dubbo-demo 为根目录

Dubbo-api                 --  存放统一接口(提供统一的接口)

Dubbo-provider  -- 服务提供者(为接口提供服务实现)

Dubbo-cunsumer  -- 服务使用者(调用统一的接口)

*************************************************************************************************

根目录中 pom.xml 的引用部分

<parent>

       <groupId>org.springframework.boot</groupId>

       <artifactId>spring-boot-starter-parent</artifactId>

       <version>1.5.9.RELEASE</version>

   </parent>

   <properties>

       <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

       <maven.compiler.source>1.8</maven.compiler.source>

       <maven.compiler.target>1.8</maven.compiler.target>

   </properties>

 <dependencies>

       <dependency>

           <groupId>junit</groupId>

           <artifactId>junit</artifactId>

           <scope>test</scope>

       </dependency>

       <dependency>

           <groupId>org.springframework.boot</groupId>

           <artifactId>spring-boot-starter-web</artifactId>

       </dependency>

       <dependency>

           <groupId>org.springframework.boot</groupId>

           <artifactId>spring-boot-starter-actuator</artifactId>

       </dependency>

       <dependency>

   <groupId>io.dubbo.springboot</groupId>

   <artifactId>spring-boot-starter-dubbo</artifactId>

   <version>1.0.0</version>

</dependency>

       <dependency>

           <groupId>org.apache.zookeeper</groupId>

           <artifactId>zookeeper</artifactId>

           <version>3.4.9</version>

       </dependency>

       <dependency>

           <groupId>com.101tec</groupId>

           <artifactId>zkclient</artifactId>

           <version>0.3</version>

       </dependency>

   </dependencies>  

 <build>

       <finalName>dubbo-demo</finalName>

       <plugins>

       <plugin>

           <groupId>org.springframework.boot</groupId>

           <artifactId>spring-boot-maven-plugin</artifactId>

           <configuration>

               <fork>true</fork> <!-- 自动重启 -->

           </configuration>

       </plugin>

       <!--指定使用maven打包--> 

       <plugin>  

               <groupId>org.apache.maven.plugins</groupId>  

               <artifactId>maven-compiler-plugin</artifactId>  

               <configuration>  

                   <source>${java.version}</source>  

                   <target>${java.version}</target>  

               </configuration>  

           </plugin>  

           <plugin>  

               <groupId>org.apache.maven.plugins</groupId>  

               <artifactId>maven-surefire-plugin</artifactId>  

               <configuration>  

                   <skipTests>true</skipTests>    <!--默认关掉单元测试 -->  

               </configuration>  

           </plugin>

   </plugins>

   </build>

****************************************************************************************************

Dubbo-api 子模块的内容部分:

1、pom.xml文件

<dependencies>

       <dependency>

           <groupId>junit</groupId>

           <artifactId>junit</artifactId>

           <scope>test</scope>

       </dependency>

   </dependencies>

2、接口文件

****************************************************************************************************

Dubbo-provider 子模块目录

1、pom.xml文件引入部分

<dependencies>

  <dependency>

  <groupId>cn.com.lsjz</groupId>  

       <artifactId>dubbo-api</artifactId>  

       <version>0.0.1-SNAPSHOT</version>  

  </dependency>

 </dependencies>

2、application.properties文件

# Spring boot application

spring.application.name = dubbo-provider

server.port = 9090

management.port = 9091

#dubbo提供者的别名,只是个标识

spring.dubbo.application.name=dubbo-provider

#zk地址

spring.dubbo.registry.address=zookeeper://localhost:2181

#dubbo协议

spring.dubbo.protocol.name=dubbo

#duboo端口号

spring.dubbo.protocol.port=20880

#这是你要发布到dubbo的接口所在包位置

spring.dubbo.scan=cn.com.lsjz.dubbo.provider

3、服务提供者实现方法

****************************************************************************************************

Dubbo-consumer 子模块目录

1、pom.xml文件引入部分

<dependencies>

  <dependency>

  <groupId>cn.com.lsjz</groupId>  

       <artifactId>dubbo-api</artifactId>  

       <version>0.0.1-SNAPSHOT</version>  

  </dependency>

 </dependencies>

2、application.properties文件

spring.application.name = dubbo-consumer

server.port = 8085

management.port = 8081

spring.dubbo.application.name=dubbo-consumer

#zk地址

spring.dubbo.registry.address=zookeeper://localhost:2181

#dubbo协议

spring.dubbo.protocol.name=dubbo

#duboo端口号

spring.dubbo.protocol.port=20880

#这是要扫描使用的dubbo接口所在包位置

spring.dubbo.scan=cn.com.lsjz.dubbo.consumer

3、服务使用者调用接口

****************************************************************************************************

以上全部配置完毕。

启动步骤:

1、启动zookeeper

a. 下载zookeeper放在本地并解压:

b. 新建数据及日志目录

c.  配置zoo.cfg

#这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳

tickTime=2000

initLimit=10

syncLimit=5

#顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里

dataDir=D:\zookeeper-3.5.3-beta\data

#顾名思义就是 Zookeeper 保存日志文件的目录

dataLogDir=D:\zookeeper-3.5.3-beta\log

#这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求

clientPort=2181

#maxClientCnxns=60

#autopurge.snapRetainCount=3

#autopurge.purgeInterval=1

d. 启动zookeeper

2、运行服务提供者(dubbo-provider子模块中的DubboProviderStart类的main方法)

3、运行服务使用者(dubbo-consumer子模块中的DubboConsumerStart类的main方法)

4、访问地址:http://localhost:8085/sayHello?name=123



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值