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

Feign常见问题:

https://www.imooc.com/article/289005

39.Feign的更多相关文章

  1. SpringCloud 源码系列(6)—— 声明式服务调用 Feign

    SpringCloud 源码系列(1)-- 注册中心 Eureka(上) SpringCloud 源码系列(2)-- 注册中心 Eureka(中) SpringCloud 源码系列(3)-- 注册中心 ...

  2. Spring Cloud中Feign如何统一设置验证token

    代码地址:https://github.com/hbbliyong/springcloud.git 原理是通过每个微服务请求之前都从认证服务获取认证之后的token,然后将token放入到请求头中带过 ...

  3. 使用@FeignClient时,报java.lang.NoClassDefFoundError: feign/Feign$Builder错

    错误信息: Caused by: java.lang.ClassNotFoundException: feign.Feign$Builder at java.net.URLClassLoader.fi ...

  4. SpringCloud+Feign环境下文件上传与form-data同时存在的解决办法

    最近项目转型使用SpringCloud框架下的微服务架构,各微服务之间使用Feign进行调用.期间,发现若被调用方法涉及到文件上传且仅存在单个文件时,一切正常,代码片段如下: @RequestMapp ...

  5. Feign性能优化注意事项--超时

      Caused by: java.lang.IllegalStateException: PathVariable annotation was empty on param 1. at feign ...

  6. 【微服务架构】SpringCloud之Feign(五)

    Feign简介 Feign 是一个声明web服务客户端,这便得编写web服务客户端更容易,使用Feign 创建一个接口并对它进行注解,它具有可插拔的注解支持包括Feign注解与JAX-RS注解,Fei ...

  7. feign实现服务间的负载均衡

    feign Feign是一个声明式的Web Service客户端,它使得编写Web Serivce客户端变得更加简单.我们只需要使用Feign来创建一个接口并用注解来配置它既可完成.它具备可插拔的注解 ...

  8. 【springcloud】使用@FEIGNCLIENT时,报JAVA.LANG.NOCLASSDEFFOUNDERROR: FEIGN/FEIGN$BUILDER错

    引用地址:http://www.cnblogs.com/ellacan/p/8822374.html 错误信息: Caused by: java.lang.ClassNotFoundException ...

  9. Spring Cloud Feign 出现ClassNotFoundException: feign.Feign$Builder错误

    Spring Cloud Feign 出现ClassNotFoundException: feign.Feign$Builder错误 后来发现是POM文件写错了,修改为正确的pom,就可以了: POM ...

  10. SpringCloud的入门学习之概念理解、Feign负载均衡入门

    1.Feign是SpringCloud的一个负载均衡组件. Feign是一个声明式WebService客户端.使用Feign能让编写Web Service客户端更加简单, 它的使用方法是定义一个接口, ...

随机推荐

  1. SQLServer错误:expected a simple type, a tuple or a list

    dict_data = { 'request_id': request_id, 'original_id': request_body.original_id, 'unit_type': reques ...

  2. 02_IntelliJ IDEA常用快捷键

    [常见快捷键] Ctrl+Shift + Enter 语句完成   "!" 否定完成 输入表达式时按 "!"键 Ctrl+E 最近的文件   Ctrl+Shif ...

  3. 1414:【17NOIP普及组】成绩

    1414:[17NOIP普及组]成绩 时间限制: 1000 ms         内存限制: 65536 KB提交数: 27975     通过数: 17779 [题目描述] 牛牛最近学习了 C++入 ...

  4. vue真实项目结构

    我明白你的需求.如果你想看一个真实企业项目使用的复杂目录结构,你可以参考以下几个例子: 根据1的介绍,一个vue项目的目录结构可以细分为以下几个部分: |- src | |- api 存放所有请求接口 ...

  5. 2022-05-24内部群每日三题-清辉PMP

    1.一家公司具有一项变更控制委员会(CCB)政策,规定其每月举行一次会议来评估和审查变更请求.一个项目正在执行过程中,由于时间表和目标较为激进,需要更快的响应时间.项目经理应该怎么做? A.更新风险登 ...

  6. SpringBoot容器化的多环境配置

    SpringBoot容器化的多环境配置 部署通常会有多个环境,如"dev"/"test"/"prod"等环境 容器化部署通常使用环境变量,而 ...

  7. 浏览器 - 重绘(repaint)重排(reflow)

    浏览器 - 重绘(repaint)重排(reflow) 网页生成过程: HTML被HTML解析器解析成DOM 树 css则被css解析器解析成CSSOM 树 结合DOM树和CSSOM树,生成一棵渲染树 ...

  8. Android集成并开启手写笔识别

    1.首先,需要下载Pdf xchange View SDK,然后将其集成到Android项目中: 2.在Android项目中,添加以下依赖: implementation 'com.github.PD ...

  9. 01Java常用类

    Object类 Object概述 Object类是超类,基类,所有类都默认直接继承Object类. Object类中定义的方法,是所有对象都具备的方法. Object类可以存储任何类 ​ - 可以作为 ...

  10. UPPER VSCODE