zoukankan      html  css  js  c++  java
  • Hystrix 常用属性配置

    配置参数

    默认值

    说明

    命令-执行属性配置

      

      

    hystrix.command.default.execution.isolation.strategy

    THREAD

    配置隔离策略,有效值 THREAD, SEMAPHORE

    hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds

    1000

    命令的执行超时时间,超出该时间会执行命令的 回退,可以使用 command.timeout.enabled 配置来关闭命令超时

    hystrix.command.default.execution.timeout.enabled

    true

    配置命令的执行,是否会超时

    hystrix.command.default.execution.isolation.thread.interruptOnTimeout

    true

    配置命令的执行发生超时,是否中断命令的 run 方法的执行

    hystrix.command.default.execution.isolation.thread.interruptOnCancel

    false

    配置命令在取消时,是否中断命令的 run 方法的执行

    hystrix.command.default.execution.isolation.semaphore.maxConcurrentRequests

    10

    当使用 ExecutionIsolationStrategy.SEMAPHORE 隔离策略时,设置允许执行命令的 run 方法的最大请求数。如果此最大并发限制被命中,则后续请求将被拒绝。在调整信号量大小时使用的逻辑与选择要添加到线程池中的线程的数量基本相同,,但信号量的开销要小得多,通常执行速度要快得多 (子毫秒),否则您将使用线程

    命令-回退属性配置

      

      

    hystrix.command.default.fallback.isolation.semaphore.maxConcurrentRequests

    10

    设置 ExecutionIsolationStrategy.SEMAPHORE 隔离策略时,设置允许执行命令的 getFallback 方法的最大请求数量

    hystrix.command.default.fallback.enabled

    true

    此属性确定在命令发生调用失败或拒绝时是否会尝试调用命令的 getFallback 方法

    命令-断路器属性配置

      

      

    hystrix.command.default.circuitBreaker.enabled

    true

    此属性确定是否启用断路器跟踪运行状况和短路请求

    hystrix.command.default.circuitBreaker.requestVolumeThreshold

    20

    此属性设置滚动窗口中将短路请求的最小请求数。

    hystrix.command.default.circuitBreaker.sleepWindowInMilliseconds

      

    此属性设置在短路请求后拒绝请求的休眠时间,然后再允许尝试确定命令是否应再次关闭。

    hystrix.command.default.circuitBreaker.errorThresholdPercentage

    50

    此属性设置断路器打开并启动对回退逻辑的短路请求的错误百分比。

    hystrix.command.default.circuitBreaker.forceOpen

    false

    此属性如果为 true,则强制断路器进入打开状态

    hystrix.command.default.circuitBreaker.forceClosed

    false

    此属性如果为 true,则强制断路器进入关闭状态,

    命令-指标属性配置

      

      

    hystrix.command.default.metrics.rollingStats.timeInMilliseconds

    10000

    此属性设置统计滚动窗口的持续时间

    hystrix.command.default.metrics.rollingStats.numBuckets

    10

    属性设置滚动窗口划分的桶数,例如,滚动窗口持续时间为10秒,默认配置10个桶,那么每秒钟一个桶用于存放统计数据。配置值必须符合以下条件 metrics.rollingStats.timeInMilliseconds % metrics.rollingStats.numBuckets == 0,否则会抛出异常。

    此属性只影响初始度量值的创建,并且在启动后对此属性进行的调整将不会生效。

    hystrix.command.default.metrics.rollingPercentile.enabled

    true

    此属性指示是否应跟踪执行延迟,并将其计算为百分点。如果禁用它们,则所有汇总统计 (平均值、百分点) 都将返回为 -1

    hystrix.command.default.metrics.rollingPercentile.timeInMilliseconds

    60000

    此属性设置滚动百分比窗口的持续时间,其中保留执行时间以允许百分比计算 (以毫秒为单位),此属性只影响初始度量值的创建, 并且在启动后对此属性进行的调整将不会生效

    hystrix.command.default.metrics.rollingPercentile.numBuckets

    6

    属性设置滚动百分比窗口划分的桶数,例如,滚动百分比窗口持续时间为60秒,默认配置6个桶,那么一个桶用于存放10秒的统计数据。配置值必须符合以下条件 metrics.rollingPercentile.timeInMilliseconds % metrics.rollingPercentile.numBuckets == 0,否则会抛出异常。

    此属性只影响初始度量值的创建,并且在启动后对此属性进行的调整将不会生效

    hystrix.command.default.metrics.rollingPercentile.bucketSize

    100

    此属性设置每个桶保留的最大执行时间数,如果超出桶的最大执行数量,则会记录到下一个桶

    此属性只影响初始度量值的创建,并且在启动后对此属性进行的调整将不会生效

    hystrix.command.default.metrics.healthSnapshot.intervalInMilliseconds

    500

    此属性设置在允许运行健康快照以计算成功和错误百分比并影响断路器状态的等待间隔的时间 (以毫秒为单位)。

    误差百分比的连续计算是 CPU 密集型的,因此此属性允许您控制计算的频率

    命令-请求上下文属性配置

      

      

    hystrix.command.default.requestCache.enabled

    true

    此属性指示是否启用请求缓存

    hystrix.command.default.requestLog.enabled

    true

    此属性指示是否应将命令执行和事件记录到日志

    合并属性配置

      

      

    hystrix.collapser.default.maxRequestsInBatch

    Integer.MAX_VALUE

    此属性设置合并处理允许的最大请求数

    hystrix.collapser.default.timerDelayInMilliseconds

    10

    此属性设置多长时间内的请求进行合并

    hystrix.collapser.default.requestCache.enabled

    true

    此属性设置启动合并请求缓存

    线程池属性配置

      

      

    hystrix.threadpool.default.coreSize

    10

    此属性配置线程池大小

    hystrix.threadpool.default.maximumSize

    10

    此属性设置最大线程池大小。这是可在拒绝命令执行的最大并发量。请注意, 如果您必须同时设置 allowMaximumSizeToDivergeFromCoreSize

    在1.5.9版本 之前, 线程池和最大线程池总是相等的。

    hystrix.threadpool.default.allowMaximumSizeToDivergeFromCoreSize

    false

    此属性允许 maximumSize 的配置生效,如果maximumSize 大于 coreSize 配置,则在 keepAliveTimeMinutes 时间后回收线程

    hystrix.threadpool.default.keepAliveTimeMinutes

    1

    此属性设置线程空闲生存时间 (分钟)

    hystrix.threadpool.default.metrics.rollingStats.timeInMilliseconds

    10000

    此属性设置统计滚动窗口的持续时间 (以毫秒为单位)

    hystrix.threadpool.default.metrics.rollingStats.numBuckets

    10

    属性设置滚动窗口划分的桶数,例如,滚动窗口持续时间为10秒,默认配置10个桶,那么每秒钟一个桶用于存放统计数据。配置值必须符合以下条件 metrics.rollingStats.timeInMilliseconds % metrics.rollingStats.numBuckets == 0,否则会抛出异常。

    此属性只影响初始度量值的创建,并且在启动后对此属性进行的调整将不会生效

       

    注意:配置参数都是默认全局配置,如果需要针对命令配置,则将 default 替换为 HystrixCommandKey 、 HystrixCollapserKey 和 HystrixThreadPoolKey;在 HystrixCommand 子类的构造函数调用中,可以指定命令的 HystrixCommandKey 和 HystrixThreadPoolKey,示例如下:

    public SpeakCommand(String msg){

    super(

    Setter.withGroupKey(HystrixCommandGroupKey.Factory.asKey("BatchSpeak"))

    .andCommandKey(HystrixCommandKey.Factory.asKey("commandkey"))

    .andThreadPoolKey(HystrixThreadPoolKey.Factory.asKey("threadPoolKey"))

    );

    }

    在 HystrixCollapser 子类的构造函数调用中,可以指定合并请求的 HystrixCollapserKey ,示例如下:

    public SpeakCollapserCommand(String paramName){

    super(

    Setter.withCollapserKey(HystrixCollapserKey.Factory.asKey("SpeakCollapser"))

    );

    this.paramName=paramName;

    }

       

  • 相关阅读:
    ajax处理响应(三)
    ajax起步 (二)
    ajax的使用(一)
    css相关用法
    vue 实例的生命周期
    vue中computed与watch的异同
    文本显示,单行超出和多行超出显示省略号
    vue+mui+html5+ plus开发的混合应用底部导航的显示与隐藏
    addEventListener()与removeEventListener(),追加事件和删除追加事件
    原生js中获取this与鼠标对象以及vue中默认的鼠标对象参数
  • 原文地址:https://www.cnblogs.com/li3807/p/8780983.html
Copyright © 2011-2022 走看看