本章我们将集成dubbo。那为什么有了fegin还需要dubbo呢?这是本章的核心。本章不仅会讲dubbo如何集成使用,还会讲dubbo和fegin的区别。为什么阿里巴巴自己的儿子要集成dubbodubbo?从逻辑上讲,它是一个很好的微服务治理框架。既然SpringCloudAlibaba也是一套微服务治理方案,那么此时使用dubbo是不是显得重复很多呢?其实并不是。在SpringCloudAlibaba的整合下,Dubbo用户不仅可以享受到原有RPC带来的性能优势,还可以更好的享受到SpringCloud的各种好处;对于SpringCloud用户来说,在服务治理方面,也是一个不错的选择。可以说,这次整合真的是很好的整合了这两个用户群体,起到了相互成就的作用。集成dubbo,入门案例使用Dubbo实现服务提供者和服务消费者。这里我们需要创建两个对应的项目,一个是服务提供者,一个是服务消费者。让我们从创建一个服务提供者开始。创建一个简单的SpringBoot服务。这里SpringBoot的版本我选择的是:2.2.11.RELEASE引入了集成dubbo需要的依赖1、spring-cloud-starter-dubbo2、spring-cloud-starter-alibaba-nacos-discovery我的服务器项目pom文件如下4.0.0org.springframework.bootspring-boot-starter-parent2.2.11。RELEASEcom.echodubbo-server0.0.1-SNAPSHOTdubboSpringBoot演示项目1.82.2.1.RELEASEorg.springframework.bootspring-boot-starter-weborg.springframework。启动spring-boot-starter-testtestorg.junit.vintagejunit-复古引擎</dependency>com.alibaba.cloudspring-cloud-starter-alibaba-nacos-discoverycom.alibaba.cloudspring-cloud-starter-dubbo2.2.1.RELEASEcom.alibaba.cloudspring-cloud-alibaba-dependencies<版本>${spring-cloud-alibaba.version}pom导入org.springframework.bootspring-boot-maven-plugin复制代码并写入相应的配置nacos配置dubbo自带的配置server:port:10083spring:cloud:nacos:server-addr:192.168.22.71:8848application:name:spring-cloud-dubbo-serverdubbo:scan:base-packages:com.echo.dubbo.serverprotocol:name:dubboport:-1registry:address:spring-cloud://localhost复制代码dubbo.scan.base-packages:指定提供服务的接口packagedubbo.protocol.name:dubbo为协议名dubbo.protocol.port:-1表示自增端口,从20880开始dubbo.registry.address:表示挂载到SpringCloud注册中心(即,我们的nacos,可以直接用nacos地址代替localhost)添加nacos服务注册和发现注解//Addannotationstothe启动类,提供者和消费者都需要@EnableDiscoveryClient复制代码写一个dubbo接口实现publicinterfaceTestService{Stringtest(Stringname);}//注意serveice是dubbo的注解,不是framework,import应该是importorg.apache.dubbo.config.annotation.Service;@ServicepublicclassTestServiceImplimplementsTestService{@OverridepublicStringtest(字符串名称){返回“你好”+名称;}}把代码复制到这里我们的服务提供者就已经完成了,然后像创建消费者一样创建一个服务消费者来调用。消费者创建和服务提供者也有依赖上面只是添加了服务提供者项,其他都是一样的。关键是在配置文件application.yml配置文件中,和服务提供者只有一处不同,就是去掉了扫描项dubbo.scan.base-packages。新增一个dubbo.cloud.subscribed-services:spring-cloud-dubbo-server(这个值是我们在nacos中注册的服务提供者项目名)写一个测试类importorg.apache.dubbo.config.annotation.Reference;@RestControllerpublicclassTestController{@ReferenceprivateTestServicetestService;@GetMapping("/test")publicStringtest(){returntestService.test("echo");}}复制代码至此,我们已经完成了我们的大部分工作,我们可以启动nacos来验证是否可以直接注册服务了。成功之后就可以调用我们的测试接口了:到这里我们就完成了dubbo的集成了。最后,如果您觉得本文对您有帮助,请点个赞。或者可以加入我的开发交流群:1025263163互相学习。我们会有专业的技术解答。如果您觉得这篇文章对您有用,请给我们的开源项目一个小星星:https://gitee。com/中邦科技/CRMEB非常感谢!