dubbo基础(三)——spring boot调用dubbo | 张利君的博客 (zhanglijun1217.github.io)
在项目中有使用到Dubbo来进行远程的调用,所以学习下。
其实用dubbo实现远程的调用并不难。机制就是"提供方-消费方",核心关键是同连同一个注册中心。
- 注册中心:Nacos
provider
配置
dubbo.application.name = xxx-service
dubbo.protocol.name = dubbox
dubbo.registry.address = nacos://172.x.x.x:8848
dubbo.consumer.check = false
注意要在启动类配置**@EnableDubbo**开启spring boot对dubbo的支持。
dubbo服务接口
这里使用 @DubboService注解来暴露服务,其实也是对应着dubbo-provider.xml中的dubbo:service标签
@DubboService
@Slf4j
public class ServiceApiImpl{
}
启动provider服务,可以在nacos中看到注册到注册中心的接口服务了。
consumer
消费者端要配置大体和服务提供者端是一样的,也是用**@DubboRefernce注解来代替对应的dubbo:refernce标签。这里也要在启动类上去加入@EnableDubbo**注解。
引入依赖
需要引入服务提供方的依赖
<dependency>
<groupId>com.xxx</groupId>
<artifactId>service-api</artifactId>
</dependency>
配置x
dubbo.application.name =x-service
dubbo.registry.address = nacos://172.x.x.x:8848
一定要注册到同一个注册中心
引用dubbo服务接口
@Slf4j
@Component
public class Consumer{
@DubboReference
private ServiceApi serviceApi;
//...
}
这样就完成了dubbo服务接口之间的调用。