博客
关于我
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/

你可能感兴趣的文章
Objective-C实现DPLL(davisb putnamb logemannb loveland)算法(附完整源码)
查看>>
Objective-C实现Edmonds-Karp算法(附完整源码)
查看>>
Objective-C实现EEMD算法(附完整源码)
查看>>
Objective-C实现EM算法(附完整源码)
查看>>
Objective-C实现EM算法(附完整源码)
查看>>
Objective-C实现entropy熵算法(附完整源码)
查看>>
Objective-C实现euclidean distance欧式距离算法(附完整源码)
查看>>
Objective-C实现Euclidean GCD欧几里得最大公约数算法(附完整源码)
查看>>
Objective-C实现euclideanDistance欧氏距离算法(附完整源码)
查看>>
Objective-C实现euler method欧拉法算法(附完整源码)
查看>>
Objective-C实现eulerianPath欧拉路径算法(附完整源码)
查看>>
Objective-C实现EulersTotient欧拉方程算法(附完整源码)
查看>>
Objective-C实现eval函数功能(附完整源码)
查看>>
Objective-C实现even_tree偶数树算法(附完整源码)
查看>>
Objective-C实现Exceeding words超词(差距是ascii码的距离) 算法(附完整源码)
查看>>
Objective-C实现extended euclidean algorithm扩展欧几里得算法(附完整源码)
查看>>
Objective-C实现Factorial digit sum阶乘数字和算法(附完整源码)
查看>>
Objective-C实现factorial iterative阶乘迭代算法(附完整源码)
查看>>
Objective-C实现factorial recursive阶乘递归算法(附完整源码)
查看>>
Objective-C实现Fast Powering算法(附完整源码)
查看>>