微服务---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配置都放到这个模块中,提供给所有消费者使用