springcloud之FeignClient访问微服务接口缓慢
查询服务日志报错如下:
Caused by: java.net.SocketTimeoutException: Read timed out
feign接口调用微服务超时,查看apollo配置,配置的时间是6秒。
分析服务器上面的日志打印,调用方的时间超出6秒,所以抛出以上异常。
服务端的日志是11秒,通过分析,问题在feign接口的调用上面花费了10秒时间。
单独请求该接口是毫秒级的,速度很快。
通过分析,确定了在服务注册上面,有一台微服务注册异常,导致每次feign调用请求的时候,轮询服务注册列表,负载均衡,
失败后又请求了另外一台机器。
最后重启服务,确定两台服务可以正常访问,解决问题。
##增加连接的超时设置:
ribbon.ReadTimeout = 12000
ribbon.ConnectTimeout = 12000
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds = 20000
##查看服务的健康状态:
http://IP:端口/health
http://IP:端口/health
##查看服务的信息:
http://IP:端口/info
http://IP:端口/info
参考:(本地测试机器注册上服务列表导致的情况)
springcloud之FeignClient访问微服务接口缓慢
https://blog.csdn.net/weixin_39655625/article/details/81026802