Hystrix参数说明参见https://github.com/Netflix/Hystrix/wiki/Configuration1.Command配置HystrixCommand的属性1.1.Execution控制HystrixCommand.run()的执行策略execution.isolation.strategy执行隔离策略:THREAD每次在一个线程中执行,并发请求数限制于线程池的线程数SEMAPHORE在调用线程中执行,并发请求数限制于semaphore信号量的值Thread是默认推荐的选择。execution.isolation.thread.timeoutInMilliseconds超时时间,默认1000msexecution.timeout.enabled是否开启超时,默认trueexecution.isolation.thread.interruptOnTimeout当超时的时候是否中断(interrupt)HystrixCommand.run()执行1.2.Fallback设置当fallback降级发生时的策略fallback.isolation.semaphore.maxConcurrentRequests最大并发请求数,默认为10fallback.enabled是否开启降级,默认为true1.3.CircuitBreaker配置熔断的策略circuitBreaker.enabled是否开启熔断,默认truecircuitBreaker.requestVolumeThreshold设置一个滑动窗口内触发熔断的最少请求量,默认20。例如,如果这个值是20,一个滑动窗口内只有19个请求时,即使19个请求都失败了也不会触发熔断。circuitBreaker.sleepWindowInMilliseconds设置触发熔断后,拒绝请求后多长时间开始尝试再次执行。默认5000ms。circuitBreaker.errorThresholdPercentage设置触发熔断的错误比例。默认50,即50%。circuitBreaker.forceOpen是否强制开启熔断circuitBreaker.forceClosed是否强制关闭熔断1.4.Metrics设置关于HystrixCommand执行需要的统计信息metrics.rollingStats.timeInMilliseconds设置滑动窗口的统计时间。熔断器使用这个时间。默认10smetrics.rollingStats.numBuckets设置滑动统计的桶数量。默认10。metrics.rollingStats.timeInMilliseconds必须能被这个值整除。metrics.rollingPercentile.enabled设置执行时间是否被跟踪,并且计算各个百分比,50%,90%等的时间。默认true。1.5.RequestContext设置使用的HystrixRequestContext相关的属性requestCache.enabled设置是否缓存请求,request-scope内缓存。默认truerequestLog.enabled设置HystrixCommand执行和事件是否打印到HystrixRequestLog中。2.ThreadPool配置HystrixCommand使用的线程池的属性coreSize设置线程池的coresize,这是最大的并发执行数量。默认10,大多数情况下默认的10个线程都是值得建议的。maxQueueSize最大队列长度。设置BlockingQueue的最大长度。默认-1。如果设置成-1,就会使用SynchronizeQueue。如果其他正整数就会使用LinkedBlockingQueue。queueSizeRejectionThreshold设置拒绝请求的临界值。只有maxQueueSize为-1时才有效。设置设个值的原因是maxQueueSize值运行时不能改变,我们可以通过修改这个变量动态修改允许排队的长度。默认5keepAliveTimeMinutes设置keep-live时间。默认1分钟这个一般用不到因为默认corePoolSize和maxPoolSize是一样的。