spring cloud hystrix 配置属性大全

spring cloud hystrix 配置属性大全
commandProperties
execution.isolation.strategy
使用命令调用的隔离模式,默认采用线程隔离
execution.isolation.thread.timeoutInMilliseconds
一个命令执行的超时时间,以毫秒为单位,默认是1s
execution.timeout.enabled
是否开启超时触发,默认是开启
execution.isolation.thread.interruptOnTimeout
使用线程隔离时,当命令超时时是否对命令所在线程执行中断操作,默认为true,只会中断线程处于阻塞状态(如sleep,wait,join等状态),正常运行的线程都不会中断
execution.isolation.thread.interruptOnFutureCancel
使用线程隔离时,当Future取消时是否对命令所在线程执行中断操作,默认为false
execution.isolation.semaphore.maxConcurrentRequests
使用信号量隔离时,命令调用最大的并发数,默认为10个
fallback.enabled
是否开启fallback降级策略,默认为true
fallback.isolation.semaphore.maxConcurrentRequests
使用信号量隔离时,命令fallback调用的最大并发数,默认为10个
metrics.rollingStats.timeInMilliseconds
统计滚动窗口的时间,默认为10s(并且默认滚动窗口的桶数量为10个,所以一个桶一秒钟),熔断器会使用这个时间
metrics.rollingStats.numBuckets
统计窗口的桶数量,默认为10个,所以在一个10s的统计窗口中一个桶1秒钟
metrics.rollingPercentile.enabled
是否开启监控统计功能,计算各个百分比(SLA),默认为true
metrics.rollingPercentile.timeInMilliseconds
滚动百分比的统计时间,默认为60000即1分钟,1分钟统计一次
metrics.rollingPercentile.numBuckets
滚动百分比的桶数量,默认为6个,(在60s的窗口中10秒钟一个桶)
metrics.rollingPercentile.bucketSize
每一个百分比窗口桶可以存放值得数量,默认为100即每个桶都多可以放100个值
metrics.healthSnapshot.intervalInMilliseconds
健康快照之间的间隔时间,默认为500ms(错误百分比等统计)
circuitBreaker.requestVolumeThreshold
一个滚动窗口内触发熔断的最少请求数,默认是20个。滚动窗口时间取自(metrics.rollingStats.timeInMilliseconds),默认10s内至少请求20次,熔断才发挥作用。
circuitBreaker.sleepWindowInMilliseconds
触发熔断之后(拒绝请求),多长时间开始重新尝试执行,默认是5000ms。步骤如下:熔断器中断请求5秒后会进入半打开状态,放下一个请求进来重试,如果该请求成功就关闭熔断器,否则继续等待一个熔断时间窗口
circuitBreaker.enabled
是否启用熔断器,默认是启用
circuitBreaker.errorThresholdPercentage
设置启动熔断的错误或者延迟的比例,默认是50%。在一个滚动窗口(默认10s)如果超过50%的请求发生错误或者延迟,则触发熔断器,前提是circuitBreaker.requestVolumeThreshold条件满足
circuitBreaker.forceOpen
是否强制开启熔断器,默认为false,开启之后所有请求全部拒绝,直接fallback
circuitBreaker.forceClosed
是否强制关闭熔断器,默认为false,开启之后不能熔断
requestLog.enabled
hystrix执行的日志是否打印,默认为true
requestCache.enabled
是都缓存请求,request-scope缓存,默认为true
threadPoolProperties
coreSize
设置线程池的大小,默认为10,也就是说最大并发为10
maximumSize
设置线程池打最大值,默认为10,只有allowMaximumSizeToDivergeFromCoreSize
为true时才生效
allowMaximumSizeToDivergeFromCoreSize
该属性允许配置maximumSize生效,当coreSize小于maximumSize时创建一个最大值为maximumSize并发的线程池,但会在相对不活动期间返回线程到系统(受keepAliveTimeInMinutes控制)
keepAliveTimeMinutes
设置线程保持的时间,以分钟为单位,默认为1分钟,如果coreSize小于maximumSize,那么这个属性控制一个线程在不使用之后多久将被释放
maxQueueSize
该属性设置实现的最大队列大小,默认为-1,-1代表SynchronousQueue将被使用,否则将使用一个正值的LinkedBlockingQueue,这个属性只适用于初始化期间,并且不能更改或者调整,如果修改的话需要重启
queueSizeRejectionThreshold
该属性设置队列大小拒绝阈值,即maxQueueSize还没有达到最大值,此值也能动态响应拒绝队列的大小,当maxQueueSize=-1时此值不起作用
metrics.rollingStats.timeInMilliseconds
该属性设置统计滚动窗口的持续时间,以还秒为单位。这是为线程池保留多长时间的指标,默认为1000ms
metrics.rollingStats.numBuckets
该属性设置滚动统计窗口分成桶的数量,必须能被metrics.rollingStats.timeInMilliseconds整除,默认为10
collapserProperties
maxRequestsInBatch 该属性设置批量处理的最大请求数量,默认值为Integer.MAX_VALUE
timerDelayInMilliseconds 该属性设置多长时间之内算一次批处理,默认为10ms
requestCache.enabled 是都缓存请求,request-scope缓存,默认为true
metrics.rollingStats.timeInMilliseconds 统计滚动窗口的时间,默认为10s(并且默认滚动窗口的桶数量为10个,所以一个桶一秒钟)
metrics.rollingStats.numBuckets 统计窗口的桶数量,默认为10个,所以在一个10s的统计窗口中一个桶1秒钟
metrics.rollingPercentile.enabled 是否开启监控统计功能,计算各个百分比(SLA),默认为true
metrics.rollingPercentile.timeInMilliseconds 滚动百分比的统计时间,默认为60000即1分钟,1分钟统计一次
metrics.rollingPercentile.numBuckets 滚动百分比的桶数量,默认为6个,(在60s的窗口中10秒钟一个桶)
metrics.rollingPercentile.bucketSize 每一个百分比窗口桶可以存放值得数量,默认为100即每个桶都多可以放100个值

作者:乃刀的青春
来源:CSDN
原文:https://blog.csdn.net/heartroll/article/details/78910834
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/csdn_myprogramLife/article/details/85014781