Hystrix线程池配置
Posted 好大的月亮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hystrix线程池配置相关的知识,希望对你有一定的参考价值。
现象描述
在每秒请求并发超过10
个的时候触发了线程拒绝异常java.util.concurrent.RejectedExecutionException
.
因为默认线程池的配置只有10
,而maxQueueSize
也没有配置,queueSizeRejectionThreshold
默认为5,那么超过10
个线程并发请求即会出现线程拒绝异常了。
官方默认队列阈值只有5
个, 如果要调整队列,必须同时修改maxQueueSize
和queueSizeRejectionThreshold
属性的值,否则都会出现异常!
来一个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线程池配置的主要内容,如果未能解决你的问题,请参考以下文章