feign:
hystrix:
enabled: true
上面这段Yml配置代码,官网解释“Feign将使用断路器包装所有方法”,也就是将@FeignClient标记的那个service接口下所有的方法进行了hystrix包装(类似于在这些方法上加了一个@HystrixCommand),这些方法会应用一个默认的超时时间为1s,所以你的service方法也有一个1s的超时时间,service,1秒后就会抛出异常,controller立马进入备用方法,controller上那个3秒那超时时间就没有效果了,所以只要修改Hystrix的默认超时时间就可以了
feign:
hystrix:
enabled: true
client:
config:
default:
connectTimeout: 6000 #连接超时时间
readTimeut: 6000 #服务持续超时时间
hystrix:
command:
default:
execution:
isolation:
thread:
timeoutInMilliseconds: 5000