Spring Cloud: Hystrix请求队列线程不足

在Spring Cloud中,Feign可以实现本地化的微服务API调用,Hystrix可以实现调用失败时的fallback处理。

  • 问题描述:
    在实际生产环境中使用时,我们遇到了这样一个错误:
"..., stack trace: [com.netflix.hystrix.exception.HystrixRuntimeException: QueryNodeImpalaBdService#getQueryResult(QueryRequest) could not be queued for execution and no fallback available.]"

从异常信息来看,是由于请求超出了队列的限制,导致无法被处理而抛出异常。

  • 解决方式:
    Hystrix的配置中,默认队列线程的个数为10,当QPS较大时可能会超过此线程数。可以修改配置来加大线程池的个数:
hystrix:
  threadpool:
    default:
      coreSize: 100 # default is 10

这样就可以避免上述报错。具体的源码分析待补充。

你可能感兴趣的:(Spring Cloud: Hystrix请求队列线程不足)