博客
关于我
Spring Cloud系列_14 Feign状态查看(日志方式)、请求超时
阅读量:678 次
发布时间:2019-03-16

本文共 1406 字,大约阅读时间需要 4 分钟。

Feign日志与请求超时优化

状态查看

在Feign中查看请求链路的状态耗时等信息时,可以通过日志的方式实现。建议在资源目录下添加一个logback.xml文件配置日志框架,不详细赘述日志框架的配置方法。

全局开启Feign的日志

在Spring Boot项目中,可以通过配置Feign的日志级别来记录详细信息。以下是一种常见的配置方式:

@Beanpublic Logger.Level getLogger() {    return Logger.Level.FULL;}

重启服务后,访问任意请求,控制台会打印详细的log信息,包括请求方法、URL、状态码、耗时等详细信息。以下是一些示例日志内容:

2021-05-07 14:49:01.660 DEBUG 15168 --- [ionManagerTimer] h.i.c.PoolingHttpClientConnectionManager : Closing expired connections2021-05-07 14:49:02.735 DEBUG 15168 --- [nio-7100-exec-7] o.s.web.servlet.DispatcherServlet : GET "/order/pojo?id=1&name=name", parameters={masked}...

这些符号表示请求和响应:

  • > 表示请求开始
  • < 表示响应结束

局部配置

application.properties中,可以调整Feign的默认配置。例如:

feign.enabled=truefeign.client.config.service-provider.loggerLevel=FULL

此外,可以通过提供的服务名配置更多细节。例如:

service-provider.feign.client.config.ConnectTimeout=5000service-provider.feign.client.config.ReadTimeout=5000

请求超时

Feign默认使用Ribbon进行负载均衡,Ribbon的超时配置包括连接超时和读取超时。例如,在全局配置中,可以设置:

ribbon.ConnectTimeout=5000ribbon.ReadTimeout=5000

局部优化

对于特定的服务(如service-provider),可以使用更精细的配置:

service-provider.ribbon.NFLoadBalancerRuleClassName=com.netflix.loadbalancer.RandomRuleservice-provider.ribbon.OkToRetryOnAllOperations=trueservice-provider.ribbon.MaxAutoRetries=2service-provider.ribbon.MaxAutoRetriesNextServer=0service-provider.ribbon.ConnectTimeOut=3000service-provider.ribbon.ReadTimeout=3000

总结

根据实际需求,可以灵活配置Feign的日志级别和超时设置。标准化的日志配置和合理的超时设置可以显著提升服务的稳定性和性能。

转载地址:http://agoqz.baihongyu.com/

你可能感兴趣的文章
nginx添加模块与https支持
查看>>
Nginx用户认证
查看>>
Nginx的Rewrite正则表达式,匹配非某单词
查看>>
Nginx的使用总结(一)
查看>>
Nginx的使用总结(二)
查看>>
Nginx的可视化神器nginx-gui的下载配置和使用
查看>>
Nginx的是什么?干什么用的?
查看>>
Nginx访问控制_登陆权限的控制(http_auth_basic_module)
查看>>
nginx负载均衡器处理session共享的几种方法(转)
查看>>
nginx负载均衡的5种策略(转载)
查看>>
nginx负载均衡的五种算法
查看>>
Nginx运维与实战(二)-Https配置
查看>>
Nginx配置ssl实现https
查看>>
Nginx配置TCP代理指南
查看>>
Nginx配置——不记录指定文件类型日志
查看>>
Nginx配置代理解决本地html进行ajax请求接口跨域问题
查看>>
Nginx配置参数中文说明
查看>>
Nginx配置好ssl,但$_SERVER[‘HTTPS‘]取不到值
查看>>
Nginx配置如何一键生成
查看>>
Nginx配置实例-负载均衡实例:平均访问多台服务器
查看>>