Nacos + Sentinel + Dubbo 三剑合璧

删除OpenFeign 和 Ribbon,使用dubbo RPC 和 dubbo LB

⾸先,需要删除或者注释掉⽗⼯程中的热部署依赖

<!--热部署-->
 <!--<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-devtools</artifactId>
 <optional>true</optional>
 </dependency>
-->

服务提供者工程改造

提取dubbo服务接⼝⼯程,lagou-service-dubbo-api接⼝类

public interface ResumeService {
 Integer findDefaultResumeByUserId(Long userId);
}

pom⽂件添加spring cloud + dubbo整合的依赖,同时添加dubbo服务接⼝⼯程依赖

<!--spring cloud alibaba dubbo 依赖-->
 <dependency>
 <groupId>com.alibaba.cloud</groupId>
 <artifactId>spring-cloud-starterdubbo</artifactId>
 </dependency>
 <dependency>
 <groupId>com.alibaba.csp</groupId>
 <artifactId>sentinel-apache-dubboadapter</artifactId>
 </dependency>
 <!--dubbo 服务接⼝依赖-->
 <dependency>
 <groupId>com.lagou.edu</groupId>
 <artifactId>lagou-service-dubbo-api</artifactId>
 <version>1.0-SNAPSHOT</version>
 </dependency>

删除原有ResumeService接⼝,引⼊dubbo服务接⼝⼯程中的ResumeService接⼝,适当调整代码,在service的实现类上添加dubbo的@Service注解

在这里插入图片描述

application.yml或者bootstrap.yml配置⽂件中添加dubbo配置

dubbo:
 scan:
 	# dubbo 服务扫描基准包
 	base-packages: com.lagou.edu.service.impl
 protocol:
 	# dubbo 协议
 	name: dubbo
 	# dubbo 协议端⼝( -1 表示⾃增端⼝,从 20880 开始)
 	port: -1
 registry:
	 # 挂载到 Spring Cloud 的注册中⼼
 	address: spring-cloud://localhost

在这里插入图片描述

运⾏发布之后,会发现Nacos控制台已经有了服务注册信息,从元数据中可以看出,是dubbo注册上来的

在这里插入图片描述

消费者工程改造

dubbo:
 registry:
 	# 挂载到 Spring Cloud 注册中⼼
 	address: spring-cloud://localhost
 cloud:
	 # 订阅服务提供⽅的应⽤列表,订阅多个服务提供者使⽤ "," 连接
 	subscribed-services: lagou-service-resume

同样,也配置下spring.main.allow-bean-deFinition-overriding=true

  • Controller代码改造,其他不变

    在这里插入图片描述

    运⾏发布之后,同样会发现Nacos控制台已经有了服务注册信息

相关文章

在网络请求时,总会有各种异常情况出现,我们需要提前处理这...
作者:宇曾背景软件技术的发展历史,从单体的应用,逐渐演进...
hello,大家好呀,我是小楼。最近一个技术群有同学at我,问我...
 一个软件开发人员,工作到了一定的年限(一般是3、4年左右...
当一个服务调用另一个远程服务出现错误时的外观Dubbo提供了多...
最近在看阿里开源RPC框架Dubbo的源码,顺带梳理了一下其中用...