SpringCloud项目调用Dubbo项目

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服务,例子如下:

// 指定dubbo接口的服务名
@FeignClient("dubbo-provider")
// 配置dubbo接口的参数,比如version
@DubboReference(version = "1.0.0")
public interface HelloService {
    
    
	// 具体的接口地址
    @GetMapping("/sayHello")
    String sayHello();

    @GetMapping("/sayHello2")
    String sayHello2();
}

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

注意:

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

代码下载地址

猜你喜欢

转载自blog.csdn.net/weiwoyonzhe/article/details/100108492