Hystrix的HystrixCommand配置参数

@HystrixCommand注解是一个包含@HystrixProperty注解的数组,HystrixProperty 由 name 和 value 两个属性,数据类型都是字符串,下面是所有的HystrixProperty解析,参考官方wiki。

Execution

这些配置决定了,HystrixCommand如何去执行。

  • execution.isolation.strategy
    指示使用哪种隔离策略,有两种:thread(线程池,默认)并发请求受到线程池最大线程限制,semaphore(信号量)受到信号量计数的限制,一般使用线程的方式

  • execution.isolation.thread.timeoutInMilliseconds
    用于设置超时的时间,单位是毫秒,默认为1s

  • execution.timeout.enabled
    用于指示是否启用超时,默认为true

  • execution.isolation.thread.interruptOnTimeout
    是否在服务超时后中断,默认为true,需要注意在 JVM 中我们无法强制中断一个线程,如果 Hystrix 方法里没有处理中断信号的逻辑,那么中断会被忽略。

  • execution.isolation.thread.interruptOnCancel
    是否在服务取消后中断,默认为false

  • execution.isolation.semaphore.maxConcurrentRequests
    设置信号量最大请求数,需要设置execution.isolation.strategy属性为semaphore,默认为10

Fallback 回退

  • fallback.isolation.semaphore.maxConcurrentRequests
    fallback回退方法时的最大并发量,超出此并发数的请求会抛出REJECTED_SEMAPHORE_FALLBACK 异常,默认是10
  • fallback.enabled
    是否启用fallback方法回退,默认为true

Circuit Breaker 熔断器

熔断器相关配置

  • circuitBreaker.enabled
    是否开启熔断器,默认为true
  • circuitBreaker.requestVolumeThreshold
    在一定的窗口时间内,打开熔断器的最小请求数,例如设置为20,在10s的窗口中,有19个线程,即使19个线程都失败了,也不会打开熔断器。默认为20
  • circuitBreaker.sleepWindowInMilliseconds
    熔断器打开后,所有请求都会快速失败,然后过一段时间,Hystrix会放行一个请求,进行测试是否恢复,如果恢复则关闭熔断器。这个属性就是用于指定熔断器开启后过多久会进行一次尝试,默认是5000毫秒
  • circuitBreaker.errorThresholdPercentage
    设置窗口时间内多少百分比的请求失败会打开熔断器,默认是50,也就是超过50%的失败了才会打开
  • circuitBreaker.forceOpen、circuitBreaker.forceClosed
    是否强制开启或者强制关闭,默认是false
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值