39.Feign




Java方式配置
/**局部**/
@FeignClient(value = "user-center", /*修改(user-center)feign的日志级别*/ configuration = UserCenterFeignConfiguration.class)
public interface UserCenterFeignClient {
    @GetMapping("/users/{id}")
    ResponseEntity<UserDTO> queryById(@PathVariable("id") Integer id);
}
/**
 * Created by Guaguaerhao on 2022/4/28 2:21 下午
 * feign 的配置类
 * 这个类不能加@Configuration注解了,否则必须挪到@ComponentScan能扫描到的包以外
 *
 * (添加@Configuration,会导致父子上下文重复扫描)
 */
public class UserCenterFeignConfiguration {
    // 修改feign日志级别
    // NONE(默认值):不记录任何日志
    // BASIC 仅记录请求方法、URL、响应状态吗、请求时间
    // HEADERS 记录BASIC级别的基础上,记录请求和响应header
    // FULL 记录请求和响应的header、body和元数据
    @Bean
    public Logger.Level level(){
        return Logger.Level.NONE;
    }
}
/**全局**/
@EnableFeignClients(defaultConfiguration = GlobalFeignConfiguration.class) /*自定义Feign全局配置*/
public class ContentCenterApplication {
    public static void main(String[] args) {
        SpringApplication.run(ContentCenterApplication.class, args);
    }
}
application.properties配置
# 修改Feign日志级别,需要配置以下 2 点
# application.properties 或 application.yml 的配置优先级高于Java配置
# 1.1 修改Feign日志级别,必须将feign的日志级别定为 debug
logging.level.com.itmuch.contentcenter.feign.UserCenterFeignClient=debug
# 1.2 修改具体哪一个微服务的Feign日志输出级别
#feign.client.config.user-center.logger-level=full
# 2. 自定义Feign全局(所有微服务)配置
feign.client.config.default.logger-level=full
性能优化

Feign 连接池
1.添加依赖
        <!--Feign 连接池-->
        <dependency>
            <groupId>io.github.openfeign</groupId>
            <artifactId>feign-httpclient</artifactId>
        </dependency>
2.配置application.properties
###############################################
# 配置feign连接池,需要配合依赖 feign-httpclient #
###############################################
# 让feign使用apache httpclient做请求;而不是urlconnection
feign.httpclient.enabled=true
# feign的最大连接数
feign.httpclient.max-connections=200
# feign单个路径的最大连接数
feign.httpclient.max-connections-per-route=50
Feign日志级别:推荐BASIC
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号