Hystrix 基本配置项

Hystrix 提供了丰富的配置项来适应不同场景下的需求,以下是一些基本的配置项及其说明:

  1. 超时配置

    • execution.isolation.thread.timeoutInMilliseconds:指定命令执行的超时时间,超过这个时间将会抛出HystrixTimeoutException并执行降级逻辑。默认值通常是1000毫秒。
  2. 断路器配置

    • circuitBreaker.enabled:是否启用断路器,默认为true。
    • circuitBreaker.requestVolumeThreshold:断路器打开需要的最小请求数量,默认为20。
    • circuitBreaker.sleepWindowInMilliseconds:断路器打开后多久进入半开状态,开始尝试恢复请求,默认为5000毫秒。
    • circuitBreaker.errorThresholdPercentage:断路器打开的错误百分比阈值,默认为50%,即错误率超过50%时断路器打开。
  3. 资源隔离配置

    • 对于线程池隔离
      • execution.isolation.strategy:隔离策略,可选THREAD(默认)或SEMAPHORE
      • threadPool.coreSize:线程池的核心线程数。
      • threadPool.maxQueueSize:线程池队列的最大长度。
      • threadPool.queueSizeRejectionThreshold:队列满时的拒绝阈值。
    • 对于信号量隔离
      • execution.isolation.semaphore.maxConcurrentRequests:信号量最大并发请求数。
  4. 请求缓存

    • requestCache.enabled:是否启用请求缓存,默认为true。
  5. 重试配置

    • execution.isolation.retry.enabled:是否启用重试,默认为false。注意,Hystrix本身不直接支持重试,这通常需要结合其他库或手动实现。
  6. 指标滚动窗口

    • metrics.rollingStats.timeInMilliseconds:指标滚动窗口的时间长度,默认为10000毫秒。
    • metrics.rollingStats.numBuckets:滚动窗口的桶数,用来细分时间窗口以便统计,默认为10。
  7. 日志与监控

    • logging.level:Hystrix日志级别。
    • metrics.healthSnapshot.intervalInMilliseconds:健康快照间隔,影响监控数据的刷新频率。

这些配置项可以通过多种方式设置,包括但不限于通过代码直接配置、使用@HystrixCommand注解的属性、或通过配置文件(如application.yml或hystrix.properties)来集中管理。正确的配置对于确保Hystrix发挥最佳效能至关重要。

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值