【转载请注明出处】:https://blog.csdn.net/huahao1989/article/details/106699588
公司以前的系统都是基于Dubbo的分布式架构,后来的新业务逐渐采用了SpringCloud微服务架构,在相互的业务调用中都是提供http接口供各自调用,但是总感觉很别扭,现在有了阿里开源的Nacos就可以解决很多问题。最终要实现的效果就是同一个接口,既可以用Dubbo的方式调用,也可以用Feign来调用,覆盖当前的这种场景。
此时服务提供者即注册了 Dubbo 又注册了 Http 服务,服务消费者根据配置方式可以在 Dubbo 与 Http 调用中随意切换。
1、接口nacos-dubbo-cloud-provider-api
接口API做为服务提供者和消费者的共同依赖,将接口不仅暴露为RestAPI,做为Feign的客户端,也按照Dubbo协议注册。
依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
接口
@FeignClient("nacos-dubbo-cloud-provider-service")
public interface EchoRestDubboService {
@GetMapping("/echoRestDubbo")
String echo(@RequestParam String name);
}
nacos-dubbo-cloud-provider-service
是服务提供者的应用名。
2、服务提供者nacos-dubbo-cloud-provider-service
依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-we