springCloud-H-Alibaba OpenFeign服务调用详解

OpenFeign服务调用详解

1、解释

  • ​ Feign已经被弃用,现在用OpenFeign来代替

  • Feign和OpenFeign的区别

  • springCloud-H-Alibaba OpenFeign服务调用详解

  • 官网解释:

  • https://github.com/spring-cloud/spring-cloud-openfeign

    • 总结的说,Feign是一个声明式WebService客户端。使用Feign能让编写WebService客户端更加简单。
    • 它的使用方法式定义一个服务接口然后在上面添加注解。Feign也支持可拔插式的编码器和解码器。Spring Cloud对Feign进行了封装,使其支持了Spring MVC标准注解和HttpMessageConverters。Feign可以与Eureka和Ribbon组合使用用来实现负载均衡

    springCloud-H-Alibaba OpenFeign服务调用详解

2、作用

springCloud-H-Alibaba OpenFeign服务调用详解

3、实现步骤

3.1消费者端

  1. 导入maven依赖

springCloud-H-Alibaba OpenFeign服务调用详解

2、创建主启动类

springCloud-H-Alibaba OpenFeign服务调用详解

3、创建服务接口(使用Feign远程调用方法)

springCloud-H-Alibaba OpenFeign服务调用详解

3.2服务者端

​ 1、导入maven依赖(尽管eureka已停止更新,但是任然可以使用)

springCloud-H-Alibaba OpenFeign服务调用详解

2、创建controller

springCloud-H-Alibaba OpenFeign服务调用详解

3.3注册中心

springCloud-H-Alibaba OpenFeign服务调用详解

3.4测试

springCloud-H-Alibaba OpenFeign服务调用详解

4、Feign自带Ribbon负载均衡。

springCloud-H-Alibaba OpenFeign服务调用详解

5、Feign的超时控制

  • springCloud-H-Alibaba OpenFeign服务调用详解
    springCloud-H-Alibaba OpenFeign服务调用详解
  • ​ 解决办法
  • springCloud-H-Alibaba OpenFeign服务调用详解

6、openFeign日志增强

6.1介绍

Feign提供了日志打印功能,我们可以通过配置来调整日志级别,从而了解Feign中Http请求的细节。说白了就是对Feign接口的调用情况进行监控和输出

6.2四种隔离级别

  • 1、NONE:默认的,不显示任何日志

  • 2、BASIC:仅记录请求方法、URl、响应状态码和执行时间

  • 3、HEADERS:除了BASIC中定义的信息之外,还有请求和响应的头信息。

  • 4、FULL:除了HEADERS中定义的信息之外,还有请求和响应的正文及元数据。

6.3操作步骤

​ 1、配置类
springCloud-H-Alibaba OpenFeign服务调用详解

​ 2、配置YML

springCloud-H-Alibaba OpenFeign服务调用详解4.png)]

3、测试结果

springCloud-H-Alibaba OpenFeign服务调用详解