hystrix(4) properties配置
这一节我们来讲hystrix的properties配置体系,properties配置也是各个功能模块的基础功能。hystrix将配置分成三个部分:
1.HystrixCommandProperties用于HystrixCommand配置,一个HystrixCommandKey对应一个HystrixCommandProperties实例。
2.HystrixThreadPoolProperties用于HystrixThreadPool配置,一个HystrixThreadPoolKey对应一个HystrixThreadPoolProperties实例。
3.HystrixCollapserProperties用于HystrixCollapserCommand配置,一个HystrixCollapserKey对应一个HystrixCollapserProperties实例。
| 类别 | 配置项 | 默认值 | 说明 |
| HystrixCommandProperties |
hystrix.threadpool.[commandkey].circuitBreaker.enabled |
true | |
| hystrix.threadpool.[commandkey].circuitBreaker.requestVolumeThreshold | 20 | ||
| hystrix.threadpool.[commandkey].circuitBreaker.sleepWindowInMilliseconds | 5000 | ||
| hystrix.threadpool.[commandkey].circuitBreaker.errorThresholdPercentage | 50 | ||
| hystrix.threadpool.[commandkey].circuitBreaker.forceOpen | false | ||
| hystrix.threadpool.[commandkey].circuitBreaker.forceClosed | false | ||
| hystrix.threadpool.[commandkey].execution.isolation.strategy | Thread | ||
| hystrix.threadpool.[commandkey].execution.isolation.thread.timeoutInMilliseconds | 1000 | ||
| hystrix.threadpool.[commandkey].execution.timeout.enabled | true | ||
| hystrix.threadpool.[commandkey].execution.isolation.thread.interruptOnTimeout | true | ||
| hystrix.threadpool.[commandkey].execution.isolation.thread.interruptOnFutureCancel | false | ||
| hystrix.threadpool.[commandkey].execution.isolation.semaphore.maxConcurrentRequests | 10 | ||
| hystrix.threadpool.[commandkey].fallback.isolation.semaphore.maxConcurrentRequests | 10 | ||
| hystrix.threadpool.[commandkey].fallback.enabled | true | ||
| hystrix.threadpool.[commandkey].metrics.rollingStats.timeInMilliseconds | 10000 | ||
| hystrix.threadpool.[commandkey].metrics.rollingStats.numBuckets | 10 | ||
| hystrix.threadpool.[commandkey].metrics.rollingPercentile.enabled | true | ||
| hystrix.threadpool.[commandkey].metrics.rollingPercentile.timeInMilliseconds | 60000 | ||
| hystrix.threadpool.[commandkey].metrics.rollingPercentile.numBuckets | 6 | ||
| hystrix.threadpool.[commandkey].metrics.rollingPercentile.bucketSize | 100 | ||
| hystrix.threadpool.[commandkey].metrics.healthSnapshot.intervalInMilliseconds | 500 | ||
| hystrix.threadpool.[commandkey].requestCache.enabled | true | ||
| hystrix.threadpool.[commandkey].requestLog.enabled | true | ||
| hystrix.threadpool.[commandkey].threadPoolKeyOverride | |||
| HystrixThreadPoolProperties | hystrix.threadpool.[threadPoolkey].coreSize | 10 | |
| hystrix.threadpool.[threadPoolkey].allowMaximumSizeToDivergeFromCoreSize | false | ||
| hystrix.threadpool.[threadPoolkey].maximumSize | 10 | ||
| hystrix.threadpool.[threadPoolkey].keepAliveTimeMinutes | 1 | ||
| hystrix.threadpool.[threadPoolkey].maxQueueSize | -1 | ||
| hystrix.threadpool.[threadPoolkey].queueSizeRejectionThreshold | 5 | ||
| hystrix.threadpool.[threadPoolkey].metrics.rollingStats.timeInMilliseconds | 10000 | ||
| hystrix.threadpool.[threadPoolkey].metrics.rollingStats.numBuckets | 10 | ||
| HystrixCollapserProperties | hystrix.collapser.[collapserCommandkey].maxRequestsInBatch | Integer.MAX_VALUE | |
| hystrix.collapser.[collapserCommandkey].timerDelayInMilliseconds | 10 | ||
| hystrix.collapser.[collapserCommandkey].requestCache.enabled | true | ||
| hystrix.collapser.[collapserCommandkey].metrics.rollingStats.timeInMilliseconds | 10000 | ||
| hystrix.collapser.[collapserCommandkey].metrics.rollingStats.numBuckets | 10 | ||
| hystrix.collapser.[collapserCommandkey].metrics.rollingPercentile.enabled | true | ||
| hystrix.collapser.[collapserCommandkey].metrics.rollingPercentile.timeInMilliseconds | 60000 | ||
| hystrix.collapser.[collapserCommandkey].metrics.rollingPercentile.numBuckets | 6 | ||
| hystrix.collapser.[collapserCommandkey].metrics.rollingPercentile.bucketSize | 100 |
内部每个属性由一个ChainHystrixProperty表示,ChainHystrixProperty是一个串联的HystrixDynamicProperty,持续获取串中的属性值,直到获得不为null值为止。ChainHystrixProperty串联的HystrixDynamicProperty默认通过插件获取的HystrixDynamicProperties获取(最后我们会讲到插件)。
HystrixDynamicProperty表示动态配置数据,如果配置源发送变化,通过该对象获取配置也会相应变化。hystrix中有种实现类:
1.通过archaius实现获取配置项,通过HystrixDynamicPropertiesArchaius创建该类HystrixDynamicProperty。
2.通过system实现获取配置项,通过HystrixDynamicPropertiesSystemProperties创建该类HystrixDynamicProperty。
hystrix(4) properties配置的更多相关文章
- 服务容错保护断路器Hystrix之五:配置
接着<服务容错保护断路器Hystrix之二:Hystrix工作流程解析>中的<2.8.关于配置>再列举重要的配置如下 一.hystrix在生产中的建议 1.保持timeout的 ...
- java Properties 配置信息类
Properties(配置信息类):主要用于生产配置文件和读取配置文件信息. ----> 是一个集合类 继承HashTable 存值是以键-值的方式. package com.beiwo.io; ...
- 玩转spring boot——properties配置
前言 在以往的java开发中,程序员最怕大量的配置,是因为配置一多就不好统一管理,经常出现找不到配置的情况.而项目中,从开发测试环境到生产环境,往往需要切换不同的配置,如测试数据库连接换成生产数据库连 ...
- Quartzs -- Quartz.properties 配置
Quartzs -- Quartz.properties 配置 文件加载位置 默认:优先顺序 Classpath:quartz.properties --> org/quartz/quartz. ...
- Hibernate4搭建Log4J日志管理(附Log4j.properties配置详解)
1.首先加入slf4j的jar包,即slf4j-api-1.6.1.jar 在hibernate官网下载hibernate-release-4.2.2.Final.zip并解压,在hibernate- ...
- Log4j.properties配置详细解读
Log4j.properties配置 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以 ...
- 【spring boot】SpringBoot初学(2) - properties配置和读取
前言 只是简单的properties配置学习,修改部分"约定"改为自定义"配置".真正使用和遇到问题是在细看. 一.主要 核心只是demo中的: @Proper ...
- Spring Boot Dubbo applications.properties 配置清单
摘要: 原创出处 www.bysocket.com 「泥瓦匠BYSocket 」欢迎转载,保留摘要,谢谢! 『 与其纠结,不如行动学习.Innovate ,And out execute ! 』 本文 ...
- log4j.properties配置详解与实例
log4j.properties配置详解与实例 第一步:加入log4j-1.x.x.jar到lib下. 第二步:在工程的src下下建立log4j.properties.内容如下: #OFF,syste ...
随机推荐
- springmvc中get和post区别和应用
最近对post和get什么时候使用 和 应该怎么使用 他俩的区别 有了一些疑问 根据本人的了解 post是对数据进行了封装保护 get是安全性较差的 可以看到数据的信息 post是用来改 ...
- C++ Templates (1.5 重载函数模板 Overloading Function Templates)
返回完整目录 目录 1.5 重载函数模板 Overloading Function Templates 1.5 重载函数模板 Overloading Function Templates 和普通函数一 ...
- [PyTorch 学习笔记] 1.4 计算图与动态图机制
本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson1/computational_graph.py 计算图 深 ...
- oracle创建用户操作
打开命令提示框输入以下内容 1.输入:sqlplus /nolog //进入oralce控制台2.输入:conn /as sysdba //以管理员权限登录3.输入:create user abc i ...
- Mybatis入门(四)------联表查询
Mybatis联表查询 一.1对1查询 1.数据库建表 假设一个老师带一个学生 CREATE TABLE teacher( t_id INT PRIMARY KEY, t_name VARCHAR(3 ...
- 使用 gopacket 进行数据包捕获,注入和分析
原文链接:https://www.devdungeon.com/content/packet-capture-injection-and-analysis-gopacket 接口文档:https:// ...
- DeepCoder: A Deep Neural Network Based Video Compression
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! Abstract: 在深度学习的最新进展的启发下,我们提出了一种基于卷积神经网络(CNN)的视频压缩框架DeepCoder.我们分别对预测 ...
- CSS动画实例:圆的涟漪扩散
设页面中有<div class="circle "></div>,定义.circle的样式规则绘制一个半径为75px,边框厚度为4px的圆,再定义关键帧,使 ...
- SPSSAU数据分析思维培养系列3:分析思路
本文章为SPSSAU数据分析思维培养的第3期文章. 上文讲解如何选择正确的分析方法,除了有正确的分析方法外,还需要把分析方法进行灵活运用.拿到一份数据,应该如何进行分析,总共有几个步骤,第一步第二步应 ...
- 使用Java8中的Optional类来消除代码中的null检查
简介 Optional类是Java 8新增的一个类,Optional 类主要解决的问题是臭名昭著的空指针异常(NullPointerException). —— 每个 Java 程序员都非常了解的异常 ...