微服务组件OpenFeign的学习
2023-12-20 04:27:17
添加依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
OpenFeign的简单使用
//name 指定调用rest接口所对应的服务名称
//path 指定调用rest接口所在的Controller指定的@RequestMapping
@FeignClient(name = "book-service" , path = "/bookQuery")
public interface BookFeignService {
@RequestMapping("/reduct")
String reduct();
}
OpenFeign日志配置
在遇到BUG时,比如接口调用失败、参数没有接收到等问题,或者需要查看调用性能时,可以通过Feign日志进行查看。日志等级分为以下四种:
(1)NONE:性能最佳,用于生产环境,不记录任何日志(默认)
(2)BASIC:适用于生产环境追踪问题,仅记录请求方法、URL、响应码及执行时间
(3)HEADERS:记录BASIC级别的基础上,记录请求和相应的header
(4)FULL:比较适用于开发及测试环境定位问题,记录请求和响应的header、body和元数据
日志配置分为全局配置和局部配置:
全局配置:使用@Configuration将配置作用所有的服务提供方
@Configuration
public class OpenFeignConfig {
@Bean
public Logger.Level feignLoggerLevel(){
return Logger.Level.FULL;
}
}
注意:SpringBoot默认的日志级别是Info,Feign的日志级别是Debug不会输入,因此需要在配置文件中针对Feign接口进行日志级别设置。
logging:
level:
cn.cloud.alan.feign: debug
局部配置:当只想针对某一个服务进行配置,就不要使用@Configuration
feign:
client:
config:
cloud-openFeign:
logger-level: FULL
OpenFeign超时时间配置
通过Options可以配置连接超时时间和读取超时时间,Options的第一个参数是连接的超时时间(ms),默认值是2s;第二个是请求处理的超时时间(ms),默认值是5s。
全局配置
@Configuration
public class OpenFeign {
@Bean
public Request.Options options(){
return new Request.Options(5000,10000);
}
}
局部配置
feign:
client:
config:
cloud-openFeign:
logger-level: FULL
connectTimeout: 10000
readTimeout: 10000
文章来源:https://blog.csdn.net/weixin_42592415/article/details/135058378
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!