配置参数

默认值

说明

命令-执行属性配置

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;

}

Hystrix 常用属性配置的更多相关文章

  1. SpringBoot常用属性配置

    SpringBoot 2.x:https://github.com/spring-projects/spring-boot/blob/2.0.x/spring-boot-project/spring- ...

  2. 5 -- Hibernate的基本用法 --4 9 其他常用的配置属性

    Hibernate其他常用的配置属性: ⊙ hibernate.show_sql : 是否在控制台输出Hibernate持久化操作底层所使用的SQL语句.只能为true和false两个值. ⊙ hib ...

  3. Hystrix属性配置策略

    Hystrix属性配置 Command可配参数 设置隔离策略 execution.isolation.strategy = THREAD 设置超时时间 execution.isolation.thre ...

  4. 吴裕雄--天生自然JAVA SPRING框架开发学习笔记:Spring Bean的配置及常用属性

    作为 Spring 核心机制的依赖注入,改变了传统的编程习惯,对组件的实例化不再由应用程序完成,转而交由 Spring 容器完成,在需要时注入应用程序中,从而对组件之间依赖关系进行了解耦.这一切都离不 ...

  5. 服务容错保护断路器Hystrix之五:配置

    接着<服务容错保护断路器Hystrix之二:Hystrix工作流程解析>中的<2.8.关于配置>再列举重要的配置如下 一.hystrix在生产中的建议 1.保持timeout的 ...

  6. Hystrix使用说明,配置参数说明

    一.什么情况下会触发fallback方法? 名字 描述 触发fallback EMIT 值传递 NO SUCCESS 执行完成,没有错误 NO FAILURE 执行抛出异常 YES TIMEOUT 执 ...

  7. Hystrix【参数配置及缓存】

    1.常用参数说明 hystrix参数的详细配置可参照 https://github.com/Netflix/Hystrix/wiki/Configuration 下面是一些常用的配置: 配置项 默认值 ...

  8. 新建structs2 web应用及structs.xml常用基础配置

    建立一个structs2 web应用程序 1. 创建一个基本的web应用程序 2. 添加structs2的jar文件到Class Path 将structs2的最小jar包拷到WEB-INF/lib目 ...

  9. linux配置网卡IP地址命令详细介绍及一些常用网络配置命令

    linux配置网卡IP地址命令详细介绍及一些常用网络配置命令2010-- 个评论 收藏 我要投稿 Linux命令行下配置IP地址不像图形界面下那么方 便,完全需要我们手动配置,下面就给大家介绍几种配置 ...

随机推荐

  1. DOM树中节点与节点之间的关系图

    获取子代元素节点:children 获取所有子代元素节点数:**.childElementCount  或者  **.children.length

  2. Java使用HttpClient上传文件

    Java可以使用HttpClient发送Http请求.上传文件等,非常的方便 Maven <dependency> <groupId>org.apache.httpcompon ...

  3. SSL/TLS Server supports TLSv1.0

    远程登录服务器后打开注册表编辑器,点开HKEY-LOCAL-MACHINE,SYSTEM,CURRENTCONTROLSET下的Control 找到SecurityProviders下的SCHANNE ...

  4. SQL注入之Sqli-labs系列第二十九关(基于WAF防护的单引号报错注入)

    开始挑战第二十九关(Protection with WAF) 0x1查看源码 (1)login.php页面存在防护,只要检测到存在问题就跳转到hacked.php页面(其他信息看备注) 0x2 for ...

  5. 2017第八届蓝桥杯C/C++ B组省赛-购物单

    标题: 购物单 小明刚刚找到工作,老板人很好,只是老板夫人很爱购物.老板忙的时候经常让小明帮忙到商场代为购物.小明很厌烦,但又不好推辞. 这不,XX大促销又来了!老板夫人开出了长长的购物单,都是有打折 ...

  6. 微信小程序中时间转化为时间戳(安卓和苹果兼容性)

    在IOS中时间显示NAN,后来才知道是由于安卓和IOS时间解析时间的时间格式不一致: 在安卓机中2018-06-21 16:00:21 IOS识别的格式是 2018/06/21: 所以在处理IOS机器 ...

  7. C++ STL 数据结构与算法 —— 排序

    1. Top k 大的数 排序后直接索引输出:O(nlog⁡n)" role="presentation">O(nlogn)O(nlog⁡n) std::sort( ...

  8. Java简单双向链表实现 @version 1.0

    package com.list; /** * 数据结构和算法Java表示 双向链表 * * @version 1.0 * @author 小明 * */ public class MyDoublel ...

  9. Linux用管道命令对文件的移动

    我的问题是这样的:我有一个文件夹,里面有大约有1000个文件,然后我想把这样的一部分文件给随机分成两部分,一部分含有100张,另外一部分含有剩下的所有的文件,这个时候如果是在Linux图形界面的话直接 ...

  10. 《DSP using MATLAB》Problem 5.2

    代码: %% ---------------------------------------------------------------------------------- %% Output ...