Spring云|假装Hytrix |第一次呼叫超时
Spring Cloud | Feign Hytrix | First Call Timeout
我有一个服务使用了 3 个假客户端。每次我启动我的应用程序时,我都会在第一次调用任何假客户端时收到 TimeoutException。
在一切稳定之前,我必须至少触发每个伪装客户端一次。在线查看,问题是 feign 或 hystrix 内部的某些东西是延迟加载的,解决方案是进行配置 class 覆盖 spring 默认值。我已经尝试使用下面的代码,但仍然没有帮助。我仍然看到同样的问题。有人知道这个的修复方法吗?通过hystrix回调调用feignclient两次是唯一的解决方案吗?
@FeignClient(value = "SERVICE-NAME", configuration =ServiceFeignConfiguration.class)
@Configuration
public class ServiceFeignConfiguration {
@Value("${service.feign.connectTimeout:60000}")
private int connectTimeout;
@Value("${service.feign.readTimeOut:60000}")
private int readTimeout;
@Bean
public Request.Options options() {
return new Request.Options(connectTimeout, readTimeout);
}
}
Spring 云 - Brixton.SR4
Spring 启动 - 1.4.0.RELEASE
这是 docker 中的全部 运行
Ubuntu - 12.04
Docker - 1.12.1
Docker-撰写 - 1.8
我发现解决方法是Hystrix的默认属性不好。他们有一个非常小的超时 window 并且请求总是在第一次尝试时超时。我将这些属性添加到我的配置服务中的 application.yml 文件中,现在我的所有服务都可以毫无问题地使用 feign,而且我不必在第一次超时时编写代码
hystrix:
threadpool.default.coreSize: "20"
threadpool.default.maxQueueSize: "500000"
threadpool.default.keepAliveTimeMinutes: "2"
threadpool.default.queueSizeRejectionThreshold: "500000"
command:
default:
fallback.isolation.semaphore.maxConcurrentRequests: "20"
execution:
timeout:
enabled: "false"
isolation:
strategy: "THREAD"
thread:
timeoutInMilliseconds: "30000"
我有一个服务使用了 3 个假客户端。每次我启动我的应用程序时,我都会在第一次调用任何假客户端时收到 TimeoutException。
在一切稳定之前,我必须至少触发每个伪装客户端一次。在线查看,问题是 feign 或 hystrix 内部的某些东西是延迟加载的,解决方案是进行配置 class 覆盖 spring 默认值。我已经尝试使用下面的代码,但仍然没有帮助。我仍然看到同样的问题。有人知道这个的修复方法吗?通过hystrix回调调用feignclient两次是唯一的解决方案吗?
@FeignClient(value = "SERVICE-NAME", configuration =ServiceFeignConfiguration.class)
@Configuration
public class ServiceFeignConfiguration {
@Value("${service.feign.connectTimeout:60000}")
private int connectTimeout;
@Value("${service.feign.readTimeOut:60000}")
private int readTimeout;
@Bean
public Request.Options options() {
return new Request.Options(connectTimeout, readTimeout);
}
}
Spring 云 - Brixton.SR4 Spring 启动 - 1.4.0.RELEASE
这是 docker 中的全部 运行 Ubuntu - 12.04 Docker - 1.12.1 Docker-撰写 - 1.8
我发现解决方法是Hystrix的默认属性不好。他们有一个非常小的超时 window 并且请求总是在第一次尝试时超时。我将这些属性添加到我的配置服务中的 application.yml 文件中,现在我的所有服务都可以毫无问题地使用 feign,而且我不必在第一次超时时编写代码
hystrix:
threadpool.default.coreSize: "20"
threadpool.default.maxQueueSize: "500000"
threadpool.default.keepAliveTimeMinutes: "2"
threadpool.default.queueSizeRejectionThreshold: "500000"
command:
default:
fallback.isolation.semaphore.maxConcurrentRequests: "20"
execution:
timeout:
enabled: "false"
isolation:
strategy: "THREAD"
thread:
timeoutInMilliseconds: "30000"