Spring-cloud学习笔记— Feign对Ribbon的支持及超时重试机制
1. Feign对负载均衡的⽀持
Feign
本身已经集成了Ribbon依赖和⾃动配置,因此我们不需要额外引⼊依赖,可以通过 ribbon.xx来进⾏全局配置,也可以通过服务名.ribbon.xx 来对指定服务进⾏细节配置配置(参考之前,此处略)Feign
默认的请求处理超时时⻓1s,有时候我们的业务确实执⾏的需要⼀定时间,那么这个时候,我们就需要调整请求处理超时时⻓,Feign⾃⼰有超时设置,如果配置Ribbon的超时,则会以Ribbon的为准
2. Ribbon设置
lagou-service-resume:
ribbon:
ConnectTimeout: 2000
ReadTimeout: 3000
OkToRetryOnAllOperations: true
MaxAutoRetries: 0
MaxAutoRetriesNextServer: 0
NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RoundRobinRule
3. Feign的⽇志级别配置
Feign是http请求客户端
,类似于咱们的浏览器,它在请求和接收响应的时候,可以打印出⽐较详细的⼀些⽇志信息(响应头,状态码等等)如果我们想看到Feign请求时的⽇志
,我们可以进⾏配置,默认情况下Feign的⽇志没有开启。- 开启
Feign
⽇志功能及级别
@Configuration
public class FeignLog {
@Bean
Logger.Level feignLevel() {
return Logger.Level.FULL;
}
}
- 配置
log⽇志级别为debug
logging:
level:
com.lagou.edu.controller.service.ResumeServiceFeignClient: debug
注意: 先把内层yml配置的日志控制到最细致,外层的Feign才能控制他自己的日志打印级别