使用Nacos实现服务注册发现,使用feign进行远程调用

  • Post author:
  • Post category:其他


Nacos的本地部署不做详细介绍,下面主要记录一下使用Nacos注册、暴露服务,使用feign进行远程调用的过程:

1、首先找到一个项目作为生产者,即服务提供者,进行配置后注册到Nacos注册中心,注意:
在这里插入图片描述

此处的name要注意,他是消费者消费服务查找服务的关键字。

生产者的启动类要添加一个注解@EnableDiscoveryClient,实现负载均衡

在这里插入图片描述

具体的服务接口:

在这里插入图片描述

2、消费者注册到Nacos之后,可以看一下控制台

在这里插入图片描述

我们发现服务已经注册到Nacos,

3、下面开始消费者的注册,同样是需要一些配置,不做详细介绍,这里消费者的启动类也需要添加一个注解@EnableFeignClients,这是为了使用feign实现远程调用

在这里插入图片描述

4、进行远程调用

首先把服务引入消费者项目中,如下图,使用@FeignClient注解,name属性是服务者的name,即注册到Nacos的name,下面声明的接口注意Mapping地址要与服务者暴露的地址一样,这样看feign就像实现了地址的映射,声明的接口名称、参数与服务者暴露的接口一致后,即完成了服务的引入,然后就可以在消费者端进行调用。

在这里插入图片描述

注意:此处使用Nacos作为注册中心时,若服务端有多台机器,调试时想指定一台自己的机器,只需要在@FeignClient注解中添加一条URL属性即可,例如:

在这里插入图片描述

5、下面进行测试

在这里插入图片描述

在消费者端写一个访问入口,直接调用刚刚声明的接口方法,下面就可以启动项目了。

注意:接口定义时引入的fallback属性是指定MiddGatewayGoodsServiceFallback类,来进行远程调用的熔断和降级处理

在这里插入图片描述

在这里插入图片描述

6、启动消费者

在这里插入图片描述

在这里插入图片描述

我们发现消费者已经注册到Nacos,下面进行调用测试,使用post输入地址

在这里插入图片描述

可以看到使用Nacos结合feign进行服务注册、发现以及远程调用已经成功。



版权声明:本文为qq_39380192原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。