微服务---Feign(自定义配置)

自定义Feign的配置

Feign的运行自定义配置来覆盖默认配置,可以修改的配置如下:
在这里插入图片描述
一般需要配置的就是日志级别。
配置Feign日志有两种方式:
方式一:配置文件方式
①、全局生效:
在这里插入图片描述
②、局部生效:
在这里插入图片描述
配置Feign日志的方式二:java代码方式,需要先声明一个Bean:
在这里插入图片描述
①、而后如果是全局配置,则把它放到@EnableFeignClients这个注解中:
在这里插入图片描述
②、如果是全局配置,则把它放到@FeignClient这个注解中:
在这里插入图片描述

Feign的性能优化

Feign底层的客户端实现:
URLConnection:默认实现,不支持连接池
Apache HttpClient:支持连接池
OKHttp:支持连接池

因此优化Feign的性能主要包括:
①、使用连接池代替默认的URLConnection
②、日志级别,最好用basic或none

Feign性能优化–连接池配置

Feign添加HttpClient的支持:
引入依赖:
在这里插入图片描述
配置连接池:
在这里插入图片描述

Feign的最佳实践

方式一(继承):给消费者的FeignClient和提供者的controller定义统一的父接口作为标准。(不推荐)
在这里插入图片描述
缺点:
①、服务紧耦合
②、父接口参数列表中的映射不会被继承

方式二(抽取):将FeignClient抽取为独立模块,并且把接口有关的POJO、默认的Feign配置都放到这个模块中,提供给所有消费者使用
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述