feign 默认采用的是JDK 的HttpURLConnection 来进行通讯。

feign 调用过程

HystrixInvocationHandler 类的invoke 方法 spring boot 1.5.10 feign 采用ribbon 作为负载调用的默认超时时间

 

然后是 SynchronousMethodHandler 类的 invoke方法spring boot 1.5.10 feign 采用ribbon 作为负载调用的默认超时时间
 
这个client 为LoadBalancerFeignClient 类,调用它的execute 方法、
 
 
spring boot 1.5.10 feign 采用ribbon 作为负载调用的默认超时时间
 
重点在 getClientConfig方法中,(默认ribbon 的connectionTimeOut 为 2000ms,readTimeout 为 5000ms),会将这两个值都替换为1000ms
spring boot 1.5.10 feign 采用ribbon 作为负载调用的默认超时时间
 
会实例化 RibbonClientConfiguration 类的 ribbonClientConfig 这个方法返回的Bean,就是DefaultClientConfigImpl,并覆盖上面说的两个值。
spring boot 1.5.10 feign 采用ribbon 作为负载调用的默认超时时间

相关文章: