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

你可能感兴趣的文章
Redis以及Redis的php扩展安装
查看>>
php-约瑟夫问题
查看>>
php.ini中常见的配置信息选项
查看>>
php.ini配置中有10处设置不当,会使网站存在安全问题
查看>>
PHP7 新特性
查看>>
PHP7+MySQL5.7+Nginx1.9. on Ubuntu 14.0
查看>>
php7.1.6 + redis
查看>>
php7中使用php_memcache扩展
查看>>
PHP7中十个需要避免的坑
查看>>
php7和PHP5对比的新特性和性能优化
查看>>
PHP7安装pdo_mysql扩展
查看>>
PHP7实战开发简单CMS内容管理系统(7) 后台登录架构 用户登录校验
查看>>
php7,从phpExcel升级到PhpSpreadsheet
查看>>
PHP8中match新语句的操作方法
查看>>
PHP:第一章——PHP中常量和预定义常量
查看>>
PHP:第一章——PHP中的位运算
查看>>
phpcms
查看>>
phpcms 2008 product.php pagesize参数代码注射漏洞
查看>>
phpcms V9 自定义添加 全局变量{DIY_PATH}方法
查看>>
Redis五种核心数据结构的基本使用与应用场景
查看>>