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;
}
Hystrix 常用属性配置的更多相关文章
- SpringBoot常用属性配置
SpringBoot 2.x:https://github.com/spring-projects/spring-boot/blob/2.0.x/spring-boot-project/spring- ...
- 5 -- Hibernate的基本用法 --4 9 其他常用的配置属性
Hibernate其他常用的配置属性: ⊙ hibernate.show_sql : 是否在控制台输出Hibernate持久化操作底层所使用的SQL语句.只能为true和false两个值. ⊙ hib ...
- Hystrix属性配置策略
Hystrix属性配置 Command可配参数 设置隔离策略 execution.isolation.strategy = THREAD 设置超时时间 execution.isolation.thre ...
- 吴裕雄--天生自然JAVA SPRING框架开发学习笔记:Spring Bean的配置及常用属性
作为 Spring 核心机制的依赖注入,改变了传统的编程习惯,对组件的实例化不再由应用程序完成,转而交由 Spring 容器完成,在需要时注入应用程序中,从而对组件之间依赖关系进行了解耦.这一切都离不 ...
- 服务容错保护断路器Hystrix之五:配置
接着<服务容错保护断路器Hystrix之二:Hystrix工作流程解析>中的<2.8.关于配置>再列举重要的配置如下 一.hystrix在生产中的建议 1.保持timeout的 ...
- Hystrix使用说明,配置参数说明
一.什么情况下会触发fallback方法? 名字 描述 触发fallback EMIT 值传递 NO SUCCESS 执行完成,没有错误 NO FAILURE 执行抛出异常 YES TIMEOUT 执 ...
- Hystrix【参数配置及缓存】
1.常用参数说明 hystrix参数的详细配置可参照 https://github.com/Netflix/Hystrix/wiki/Configuration 下面是一些常用的配置: 配置项 默认值 ...
- 新建structs2 web应用及structs.xml常用基础配置
建立一个structs2 web应用程序 1. 创建一个基本的web应用程序 2. 添加structs2的jar文件到Class Path 将structs2的最小jar包拷到WEB-INF/lib目 ...
- linux配置网卡IP地址命令详细介绍及一些常用网络配置命令
linux配置网卡IP地址命令详细介绍及一些常用网络配置命令2010-- 个评论 收藏 我要投稿 Linux命令行下配置IP地址不像图形界面下那么方 便,完全需要我们手动配置,下面就给大家介绍几种配置 ...
随机推荐
- python的time模块
#encoding=utf-8 import time # 返回时间戳 print time.time() # 延迟运行单位为s,如下为延迟3s time.sleep(3) # 转换时间戳为时间元组( ...
- Java中的内部类————以及jdk1.8的lambda表达式
一.内部类学习导图 1>.静态内部类: 使用static修饰符来修饰内部类,则这个内部类就属于外部类本身,而不属于外部类的某个对象.因此使用static修饰的内部类被称为静态内部类. publi ...
- Java中的break和continue以及标签
一.Java中的break,continue,goto 首先break,continue是Java中的关键字,而goto是保留字. 基于goto在c和c++中的鬼畜表现,我觉得goto可能还会长期在J ...
- [QT]QStackedWidget学习使用 可用于多界面
2017-04-11 01:52:01 根据大牛一去.二三里的教程提示,成功将多个对话框进行切换. 学习教程地址:http://blog.csdn.net/liang19890820/article/ ...
- Unity 3D光源-Point Light点光源详解/灯泡、模拟灯光效果教程
Unity4大光源之点光源 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享. ...
- ::before和::after伪元素
伪元素的意思就是,元素不是在DOM中生成的,而是在浏览器渲染CSS的时候画上去的,所以在浏览器查看元素上是看不到伪元素的HTML结构的. before 和 after 顾名思义就是附着在元素前后的伪元 ...
- 1001.A+B Format (20)题目解答
前言 最开始看到这个题目,我的第一个想法是有没有那种输出格式可以直接拿来用的,然后我百度了一下,想偷懒,然而并没有这种东西.只好动动自己的脑子了. 关于GitHub 这个问题,当初我弄了五天才建立好联 ...
- CentOS7安装备忘
======1 下载CentOS镜像文件:https://www.centos.org/download/http://isoredirect.centos.org/centos/7/isos/x86 ...
- Python开发指南规范
分号 不要在行尾加分号, 也不要用分号将两条命令放在同一行. 行长度 每行不超过80个字符 例外: 长的导入模块语句 注释里的URL 不要使用反斜杠连接行. Python会将 圆括号, 中括号和花括号 ...
- 【BZOJ3144】【HNOI2013】切糕
总算做了一道2011以后的省选题了……原题: 图片题面好评! P,Q,R≤40,0≤D≤R,给出的所有的不和谐值不超过1000. 文本样例好评! 恩这个是听妹主席讲过后会写的,首先把每个点拆成链,那么 ...