SpringBoot方式
第一步: 引入依赖
在服务提供者、消费者工程中的pom.xml文件中添加如下依赖
<!-- Dubbo Spring Boot Starter -->
<!-- 引入Dubbo核心库,并引入SpringBoot自动配置依赖 -->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>2.7.3</version>
</dependency>
<!-- 引入SpringBoot依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<!-- 引入Zookeeper服务注册中心依赖(可选,取决于用什么注册中心,如果是Redis,就换成Jedis依赖) -->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-dependencies-zookeeper</artifactId>
<version>${dubbo.version}</version>
<type>pom</type>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 通常还会将服务提供者所提供的服务接口抽成一个单独的maven模块, 通过依赖的形式加到服务提供方和消费方工程中,方便维护 -->
第二步:配置Dubbo相关参数
服务提供方
服务提供方需要配置:
- 应用名称
- 服务注册中心地址
- 服务暴露的协议、端口、Host(可选)
application.yml
dubbo:
application:
name: demo-provider
qos-enable: false #用于运维的监控服务, 默认是开启状态,并且端口是22222。开发环境为了避免端口冲突,建议直接关掉
registry:
address: zookeeper://10.10.14.120:2181?client=curator
protocol:
name: dubbo
port: 20883
host: 10.10.14.236
服务消费方
消费方需要配置:
- 应用名称
- 服务注册中心地址
application.yml
dubbo:
application:
name: demo-consumer
qos-enable: false
registry:
address: zookeeper://10.10.14.120:2181?client=curator
第三步:写代码
定义服务接口
public interface IHello {
String sayHello();
String sayHello(String name);
}
实现服务提供者
import com.lanou3g.dubbo.api.IHello;
import org.apache