这一节我们来讲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配置的更多相关文章

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

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

  2. java Properties 配置信息类

    Properties(配置信息类):主要用于生产配置文件和读取配置文件信息. ----> 是一个集合类 继承HashTable 存值是以键-值的方式. package com.beiwo.io; ...

  3. 玩转spring boot——properties配置

    前言 在以往的java开发中,程序员最怕大量的配置,是因为配置一多就不好统一管理,经常出现找不到配置的情况.而项目中,从开发测试环境到生产环境,往往需要切换不同的配置,如测试数据库连接换成生产数据库连 ...

  4. Quartzs -- Quartz.properties 配置

    Quartzs -- Quartz.properties 配置 文件加载位置 默认:优先顺序 Classpath:quartz.properties --> org/quartz/quartz. ...

  5. Hibernate4搭建Log4J日志管理(附Log4j.properties配置详解)

    1.首先加入slf4j的jar包,即slf4j-api-1.6.1.jar 在hibernate官网下载hibernate-release-4.2.2.Final.zip并解压,在hibernate- ...

  6. Log4j.properties配置详细解读

    Log4j.properties配置 Log4j有三个主要的组件:Loggers(记录器),Appenders  (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以 ...

  7. 【spring boot】SpringBoot初学(2) - properties配置和读取

    前言 只是简单的properties配置学习,修改部分"约定"改为自定义"配置".真正使用和遇到问题是在细看. 一.主要 核心只是demo中的: @Proper ...

  8. Spring Boot Dubbo applications.properties 配置清单

    摘要: 原创出处 www.bysocket.com 「泥瓦匠BYSocket 」欢迎转载,保留摘要,谢谢! 『 与其纠结,不如行动学习.Innovate ,And out execute ! 』 本文 ...

  9. log4j.properties配置详解与实例

    log4j.properties配置详解与实例 第一步:加入log4j-1.x.x.jar到lib下. 第二步:在工程的src下下建立log4j.properties.内容如下: #OFF,syste ...

随机推荐

  1. Android java.lang.SecurityException: Permission Denial

    报错: java.lang.SecurityException: Permission Denial: starting Intent { act=android.media.action.IMAGE ...

  2. 通俗易懂的 Java 位操作运算讲解

    所有数值都是2进制 软件开发者都知道 10 进制.16 进制.8 进制. 比如数字 10 的各位进制形式表现如下. 十进制:10 八进制:012 十六进制:0x0a 二进制:1010 原码 反码 补码 ...

  3. NameNode和SecondaryNameNode(面试开发重点)

    NameNode和SecondaryNameNode(面试开发重点) 1 NN和2NN工作机制 思考:NameNode中的元数据是存储在哪里的? 首先,我们做个假设,如果存储在NameNode节点的磁 ...

  4. oracle创建用户操作

    打开命令提示框输入以下内容 1.输入:sqlplus /nolog //进入oralce控制台2.输入:conn /as sysdba //以管理员权限登录3.输入:create user abc i ...

  5. Federated Learning with Matched Averaging

    挖个坑吧,督促自己仔细看一遍论文(ICLR 2020),看看自己什么时候也能中上那么一篇(流口水)~ 郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! Abstract 联邦学习允许边缘设 ...

  6. CODING DevOps 代码质量实战系列第一课:代码规范与 Git Flow

    讲师介绍 杨周 CODING DevOps 架构师 CODING 布道师 连续创业者.DIY/Linux 玩家.知乎小 V,曾在创新工场.百度担任后端开发.十余年一线研发和带队经验,经历了 ToB.T ...

  7. 你竟然不知道Java中可以用 :: 吗?

    简介 Java8中方法引用分为三种,方法引用通过一对双冒号:: 来表示,方法引用是一种函数式接口的另一种书写方式 静态方法引用,通过类名::静态方法名, 如 Integer::parseInt 实例方 ...

  8. VSCode 快速生成.vue基本模板、发送http请求模板

    安装vscode 官网:https://code.visualstudio.com/ 安装 Vetur 插件,识别 vue 文件 插件库中搜索Vetur,点击安装,安装完成之后点击重新加载 新建代码片 ...

  9. 从request中获取文件流的两种方式,配置文件上传大小

    原文地址:https://blog.csdn.net/xyr05288/article/details/80692132

  10. SEO诊断方案以及执行方案

    http://www.wocaoseo.com/thread-127-1-1.html 今天和大家一起讨论一下SEO诊断方案以及SEO执行方案要怎么写,主要从哪些方面进行呢,做SEO的朋友们一直在探讨 ...