1.针对Fegin调用的熔断超时
@Configuration
public class FeignClientConfiguration extends BaseComponent implements FeignFormatterRegistrar {
@Bean
@Scope("prototype")
public Feign.Builder feignBuilder() {
ConfigurationManager.getConfigInstance().setProperty("hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds", 12000);
return HystrixFeign.builder().logLevel(Logger.Level.FULL);
}
}
也可以在yml文件中处理
hystrix:
command:
default:
execution:
isolation:
strategy: "SEMAPHORE"
thread:
timeoutInMilliseconds: 12000
timeout:
enabled: false
2.ribbon超时设置,一般在yml文件中配置
ribbon:
ReadTimeout: 8000
ConnectTimeout: 6000
这边在实际测试中,发现ribbon的超时时间一般是配置的时间的2倍
与针对fegin的设置超时时间,一般是谁小谁先抛出
2018年11月6日更新
在实际的项目