Dubbo ZooKeeper Spring Boot整合

[复制链接]
发表于 2026-1-30 04:16:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
依赖设置

1. Dubbo 起步依赖

Dubbo 是一款高性能的 Java RPC 框架,用于快速开辟高性能的服务。
  1. <dependency>
  2.     <groupId>org.apache.dubbo</groupId>
  3.     <artifactId>dubbo-spring-boot-starter</artifactId>
  4.     <version>${dubbo.version}</version>
  5. </dependency>
复制代码
2. ZooKeeper API 管理依赖

  1. <dependency>
  2.     <groupId>org.apache.curator</groupId>
  3.     <artifactId>curator-recipes</artifactId>
  4.     <version>${curator.version}</version>
  5. </dependency>
复制代码
3. ZooKeeper 依赖

  1. <dependency>
  2.     <groupId>org.apache.zookeeper</groupId>
  3.     <artifactId>zookeeper</artifactId>
  4.     <version>${zookeeper.version}</version>
  5. </dependency>
复制代码
4.版本管理

  1. <properties>
  2.     <dubbo.version>2.7.8</dubbo.version>
  3.     <curator.version>5.1.0</curator.version>
  4.     <zookeeper.version>3.7.0</zookeeper.version>
  5. </properties>
复制代码
项目文件目次架构


1. API模块

此模块包罗Dubbo服务的接口界说和共享模子。
2. 实体模块

此模块包罗实体类,与数据库模子相对应。
3. 服务提供者模块

此模块实现Dubbo服务接口,并设置Dubbo提供者的相干属性。


  • pom.xml中添加Dubbo和ZooKeeper依赖。
  • application.properties或application.yml中设置Dubbo和ZooKeeper的毗连信息。
4. 服务斲丧者模块

此模块使用Dubbo服务接口,并设置Dubbo斲丧者。


  • pom.xml中添加Dubbo依赖。
  • application.properties或application.yml中设置Dubbo和ZooKeeper的毗连信息。
设置Dubbo和ZooKeeper的毗连信息设置

provider设置

  1. spring:
  2.   datasource:
  3.     driver-class-name: com.mysql.jdbc.Driver
  4.     url: jdbc:mysql://${local.ip}:3306/dubbotest?useSSL=false
  5.     username: root
  6.     password: 123456
  7. #dubbo服务提供者的配置:应用名称、注册中心地址、扫描的包;  可选配置:rpc协议和版本
  8. dubbo:
  9.   application:
  10.     name: dubbo2-provider #应用名称,要求不重复
  11.   registry:
  12.     address: zookeeper://${local.ip}:2181
  13.   scan:
  14.     base-packages: com.codeT.dubbo.service #扫描的包
  15.   protocol:
  16.     name: dubbo  #rpc协议
  17.     port: 20880  #rpc端口
  18. dev:
  19.   ip: 192.168.160.128 #服务器ip
  20. local:
  21.   ip: 127.0.0.1
复制代码
comsumer设置

  1. server:
  2.   port: 80
  3.   servlet:
  4.     context-path: /
  5. #dubbo的消费者配置:应用名称、注册中心地址、扫描的包; 可选配置:启动时检查、超时时间、重试次数
  6. dubbo:
  7.   application:
  8.     name: dubbo2-consumer #应用名称
  9.   registry:
  10.     address: zookeeper://${local.ip}:2181 #注册中心地址
  11.   scan:
  12.     base-packages: com.codeT.dubbo.controller #扫描的包
  13.   consumer:
  14.     check: false #启动时检查
  15.     timeout: 30000 #rpc调用的超时时间
  16.     retries: 0 #调用失败后的生效次数
  17. dev:
  18.   ip: 192.168.160.128 #服务器ip
  19. local:
  20.   ip: 127.0.0.1
复制代码
提供者和斲丧者是怎样举行通讯的?

核心注解

服务提供者(Provider)

@Service 注解



  • 作用:将一个类标志为Dubbo服务提供者。
服务斲丧者(Consumer)

@Reference 注解



  • 作用:注入远程服务引用。
启动Dubbo主动设置

@EnableDubbo注解

  1. @EnableDubbo
  2. @SpringBootApplication
  3. public class ConsumerApplication {
  4.     public static void main(String[] args) {
  5.         SpringApplication.run(ConsumerApplication.class, args);
  6.     }
  7. }
复制代码
大概在设置文件举行扫描

  1. scan:
  2.     base-packages: com.codeT.dubbo.controller #扫描的包
复制代码
项目demo地点

https://gitee.com/yellowpeng/dubbo-demo-springboot-master
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表