springBoot + Dubbo 整合

此文章是本人从项目中copy出来的,不足之处请各位前辈指出...


注释: 基于zookeeper的dubbo整合,可以选择从官网下载zookeeper, 如果在单机模式下启动zookeeper的话,直接找到bin目录下的zkServer.cmd就可以直接在本地启动了!    

对于监控中心dubbo-admin 的使用更加简单,直接在GitHub地址下载dubbo-admin 的项目,然后使用命令把dubbo-admin 打成war包放到tomcat/webapps 目录下, tomcat启动会自动在webapps目录下生成dubbo-admin文件夹,当然配置账号和密码可以在dubbo-admin里的WEB-INF下的dubbo.properties里面修改的,这时候先启动zookeeper,再启动tomcat就行了,访问ip+本地配置tomcat的端口+生成dubbo-admin的文件夹的名称就登录就可以了

zookeeper官网地址: https://zookeeper.apache.org/

dubbo-admin  GitHub地址: https://github.com/apache/incubator-dubbo

1.配置接口提供者的pom文件依赖

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
</dependency>

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
</dependency>

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

<!--  dubbo依赖-->

<dependency>
            <groupId>io.dubbo.springboot</groupId>
            <artifactId>spring-boot-starter-dubbo</artifactId>
            <version>1.0.0</version>
</dependency>

<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>dubbo</artifactId>
            <version>2.6.2</version>
</dependency>

<!-- maven依赖 -->

<dependency>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <version>2.4.3</version>
</dependency>

 2.配置properties 或者 yml文件

spring.dubbo.application.name=provider               //命名
spring.dubbo.registry.address=zookeeper://127.0.0.1:2181      //注册zookeeper的ip和端口
spring.dubbo.protocol.name=dubbo        
spring.dubbo.protocol.port=20881     //dubbo端口号
spring.dubbo.scan=org.medical         //扫描包,多个以逗号分隔
spring.dubbo.provider.retries=0         //超时连接,设置重启次数1次
spring.dubbo.service.invoke.timeout=60000    //执行超时时间

 3.在serviceImpl上命名service注解,目的是把service接口注册到zookeeper上,版本信息,超时时间等属性

@com.alibaba.dubbo.config.annotation.Service(interfaceName="org.common.service.Service",version =                                                                                  "1.0.0", timeout = 60000)

注:interfaceName是service接口的全路径,version是版本信息,要和客户端的对应,timeout是超时时间

 这样service接口便可以访问了,当然还可以配置swagger.ui去测试这些接口


 4.配置客户端的pom文件依赖

 

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
</dependency>

 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
</dependency>

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
</dependency>
        
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

<dependency>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <version>2.4.3</version>
</dependency>

<dependency>
            <groupId>io.dubbo.springboot</groupId>
            <artifactId>spring-boot-starter-dubbo</artifactId>
            <version>1.0.0</version>
</dependency>

  5.配置properties 或者 yml文件

spring.dubbo.application.name=consumer
spring.dubbo.registry.address=zookeeper://127.0.0.1:2181
spring.dubbo.scan=cn.technology.apt.controller,cn.technology.apt.interceptor
spring.dubbo.consumer.timeout=120000
spring.dubbo.consumer.retries=1

 6.在controller里注入service接口的时候要声明dubbo版本

@Reference(version="1.0.0")
private Service ServiceImpl 

 这样便可以调用service接口了!

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值