关于nacos的openfeign工作原理

一、什么是OpenFeign

OpenFeign为微服务架构下服务之间的调用提供了解决方案,OpenFeign是一种声明式、模板化的HTTP客户端。在Spring Cloud中使用OpenFeign,可以做到使用HTTP请求访问远程服务,就像调用本地方法一样的,开发者完全感知不到这是在调用远程方法,更感知不到在访问HTTP请求。
二、

先扫描客户端;

在自定义的客户端类中

关于nacos的openfeign工作原理_第1张图片

@FeignClient(" 服务器名称")

扫包获得接口+通过动态代理生成实现类

服务发现:通过反射读取到 @FeignClient中的服务名,执行服务发现过程

负载均衡: 集成了ribbon负载均衡器实现

服务调用:

  • 获取请求路径、参数等配置信息,通过反射读取到SpringMVC的注解获得
  • 序列化反序列化,发送请求,获得响应,返回

关于nacos的openfeign工作原理_第2张图片

服务调用:

关于nacos的openfeign工作原理_第3张图片

把自定义客户端注入Controller可以直接调用上面写好的方法;

注意参数一点要加以下注解:

@requestbody (以对象封装)只能有一个

@requestparam 可以多个

@PathVaiable  可以多个

注意:如果不加服务调用就会报错;

 

 

你可能感兴趣的:(java,spring,cloud,spring)