Hystrix线程池配置

Posted 好大的月亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hystrix线程池配置相关的知识,希望对你有一定的参考价值。

现象描述

在每秒请求并发超过10个的时候触发了线程拒绝异常java.util.concurrent.RejectedExecutionException.

因为默认线程池的配置只有10,而maxQueueSize也没有配置,queueSizeRejectionThreshold默认为5,那么超过10个线程并发请求即会出现线程拒绝异常了。

官方默认队列阈值只有5个, 如果要调整队列,必须同时修改maxQueueSizequeueSizeRejectionThreshold属性的值,否则都会出现异常!

来一个Hystrix线程池配置demo

hystrix:
  # 线程池
  threadpool:
    default:
      #默认为10,基本得原则时保持线程池尽可能小,他主要是为了释放压力,防止资源被阻塞
      coreSize: 10
      #BlockingQueue的最大队列数,默认值-1
      maxQueueSize: 1500
      #动态控制线程池队列的上限,即使maxQueueSize没有达到,达到queueSizeRejectionThreshold该值后,请求会被拒绝,默认值5
      queueSizeRejectionThreshold: 1000

参考博文
https://www.cnblogs.com/seifon/p/9921774.html

以上是关于Hystrix线程池配置的主要内容,如果未能解决你的问题,请参考以下文章

Spring Cloud Hystrix 线程池隔离参数配置

Hystrix系列之信号量、线程池

Day440.Sentinel -谷粒商城

Day440.Sentinel -谷粒商城

hystrix与sentinel的区别你懂没?

如何在 hystrix 线程池中找到活动线程的数量?