依赖配置
1. Dubbo 起步依赖
Dubbo 是一款高性能的 Java RPC 框架,用于快速开发高性能的服务。
<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-spring-boot-starter</artifactId>
    <version>${dubbo.version}</version>
</dependency>
2. ZooKeeper API 管理依赖
<dependency>
    <groupId>org.apache.curator</groupId>
    <artifactId>curator-recipes</artifactId>
    <version>${curator.version}</version>
</dependency>
3. ZooKeeper 依赖
<dependency>
    <groupId>org.apache.zookeeper</groupId>
    <artifactId>zookeeper</artifactId>
    <version>${zookeeper.version}</version>
</dependency>
4.版本管理
<properties>
    <dubbo.version>2.7.8</dubbo.version>
    <curator.version>5.1.0</curator.version>
    <zookeeper.version>3.7.0</zookeeper.version>
</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配置
spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://${local.ip}:3306/dubbotest?useSSL=false
    username: root
    password: 123456
#dubbo服务提供者的配置:应用名称、注册中心地址、扫描的包;  可选配置:rpc协议和版本
dubbo:
  application:
    name: dubbo2-provider #应用名称,要求不重复
  registry:
    address: zookeeper://${local.ip}:2181
  scan:
    base-packages: com.codeT.dubbo.service #扫描的包
  protocol:
    name: dubbo  #rpc协议
    port: 20880  #rpc端口
dev:
  ip: 192.168.160.128 #服务器ip
local:
  ip: 127.0.0.1
comsumer配置
server:
  port: 80
  servlet:
    context-path: /
#dubbo的消费者配置:应用名称、注册中心地址、扫描的包; 可选配置:启动时检查、超时时间、重试次数
dubbo:
  application:
    name: dubbo2-consumer #应用名称
  registry:
    address: zookeeper://${local.ip}:2181 #注册中心地址
  scan:
    base-packages: com.codeT.dubbo.controller #扫描的包
  consumer:
    check: false #启动时检查
    timeout: 30000 #rpc调用的超时时间
    retries: 0 #调用失败后的生效次数
dev:
  ip: 192.168.160.128 #服务器ip
local:
  ip: 127.0.0.1
提供者和消费者是如何进行通信的?
核心注解
服务提供者(Provider)
@Service 注解
 
- 作用:将一个类标记为Dubbo服务提供者。
服务消费者(Consumer)
@Reference 注解
 
- 作用:注入远程服务引用。
启动Dubbo自动配置
@EnableDubbo注解
 
@EnableDubbo
@SpringBootApplication
public class ConsumerApplication {
    public static void main(String[] args) {
        SpringApplication.run(ConsumerApplication.class, args);
    }
}
或者在配置文件进行扫描
scan:
    base-packages: com.codeT.dubbo.controller #扫描的包
项目demo地址
https://gitee.com/yellowpeng/dubbo-demo-springboot-master








![[笔记]基于小波分析的基频识别](https://i-blog.csdnimg.cn/direct/b5dec89b88984d37a61a18fd89c281b0.png)

![[HZNUCTF 2023 preliminary]ppppop](https://i-blog.csdnimg.cn/direct/9fc7d4b247724a949dc07bc7c9e6e1a7.png)








