SpringCloud项目调用Dubbo项目

拼搏现实的明天。 2024-04-17 15:21 166阅读 0赞

SpringCloud项目调用Dubbo项目

项目结构:
在这里插入图片描述

其中,dubbo模块为dubbo服务提供方,包括服务接口和服务实现两个子模块
该模块与普通dubbo服务提供方没有变化

FeignToDubbo-starter模块负责利用Feign将底层的Http协议转化为dubbo协议,供SpringCloud项目使用。引入FeignToDubbo-starter后会引入dubbo的依赖,使用注解DubboRefence可以标注接口类为调用dubbo api的接口,同时 @DubboReference 的注解可以像Dubbo的Refence一样指定接口的调用参数,@DubboReference 注解标注的接口类会执行Http协议转Dubbo协议,之后的接口调用使用dubbo方式。

SpringCloud模块作为服务消费方,负责调用dubbo服务,例子如下:

  1. // 指定dubbo接口的服务名
  2. @FeignClient("dubbo-provider")
  3. // 配置dubbo接口的参数,比如version
  4. @DubboReference(version = "1.0.0")
  5. public interface HelloService {
  6. // 具体的接口地址
  7. @GetMapping("/sayHello")
  8. String sayHello();
  9. @GetMapping("/sayHello2")
  10. String sayHello2();
  11. }

项目启动时,先启动dubbo服务提供方,再启动springcloud服务消费方,并调用相应接口,即可实现联通调用。

注意:

  1. FeignToDubbo-starter 支持dubbo版本为2.7.3,service api的包名要跟dubbo provider中的包名一致。
  2. Springcloud项目discoveryServerAddress不能为空,注册中心使用nacos

代码下载地址

发表评论

表情:
评论列表 (有 0 条评论,166人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Dubbo项目入门

    Dubbo项目入门 ![img][] Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服