0


Dubbo ZooKeeper Spring Boot整合

依赖配置

1. Dubbo 起步依赖

Dubbo 是一款高性能的 Java RPC 框架,用于快速开发高性能的服务。

  1. <dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>${dubbo.version}</version></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><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId><version>${zookeeper.version}</version></dependency>

4.版本管理

  1. <properties><dubbo.version>2.7.8</dubbo.version><curator.version>5.1.0</curator.version><zookeeper.version>3.7.0</zookeeper.version></properties>

项目文件目录架构

项目目录架构.png

1. API模块

此模块包含Dubbo服务的接口定义和共享模型。

2. 实体模块

此模块包含实体类,与数据库模型相对应。

3. 服务提供者模块

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

  • pom.xml中添加Dubbo和ZooKeeper依赖。
  • application.propertiesapplication.yml中配置Dubbo和ZooKeeper的连接信息。

4. 服务消费者模块

此模块使用Dubbo服务接口,并配置Dubbo消费者。

  • pom.xml中添加Dubbo依赖。
  • application.propertiesapplication.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)

  1. @Service

注解

  • 作用:将一个类标记为Dubbo服务提供者。

服务消费者(Consumer)

  1. @Reference

注解

  • 作用:注入远程服务引用。

启动Dubbo自动配置

  1. @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


本文转载自: https://blog.csdn.net/weixin_41562028/article/details/141645556
版权归原作者 程序员T哥 所有, 如有侵权,请联系我们删除。

“Dubbo ZooKeeper Spring Boot整合”的评论:

还没有评论