最近有个接口需要从后台下载文件,下载请求会经过gateway,但是经过gateway一直都是超时的,debug了一下,发现超时时间默认是2秒。后来一直debug到源代码,发现要增加自己相应的配置来修改超时时间。
异常如下:
{
"timestamp": 1520236628339,
"status": 500,
"error": "Internal Server Error",
"exception": "com.netflix.zuul.exception.ZuulException",
"message": "GENERAL"
}
要增加的配置如下:
hystrix.command.hello-service.execution.isolation.thread.timeoutInMilliseconds = 60000
其中hello-service为gateway要调用的后台服务ID,这里设置超时时间为60秒。
还不太明白增加了default的配置是作用是干嘛的?为什么没有生效?
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=30000
难道不应该是我没有设置对应后台服务的超时时间就都应该用default的设置吗?
具体类详见:com.netflix.hystrix.HystrixCommandProperties