Hystrix参数说明
https://github.com/Netflix/Hystrix/wiki/Configuration
Command Properties
Execution
控制HystrixCommand.run()的执行策略
execution.isolation.strategy 执行隔离策略
THREAD 每次在一个线程中执行,并发请求数限制于线程池的线程数
SEMAPHORE 在调用线程中执行,并发请求数限制于semaphore信号量的值
Thread是默认推荐的选择。
execution.isolation.thread.timeoutInMilliseconds
超时时间,默认1000ms
execution.timeout.enabled
是否开启超时,默认true
execution.isolation.thread.interruptOnTimeout
当超时的时候是否中断(interrupt) HystrixCommand.run()执行
Fallback
设置当fallback降级发生时的策略
Circuit Breaker
配置熔断的策略
circuitBreaker.enabled
是否开启熔断,默认true
circuitBreaker.requestVolumeThreshold
设置一个滑动窗口内触发熔断的最少请求量,默认20。例如,如果这个值是20,一个滑动窗口内只有19个请求时,即使19个请求都失败了也不会触发熔断。
circuitBreaker.sleepWindowInMilliseconds
设置触发熔断后,拒绝请求后多长时间开始尝试再次执行。默认5000ms。
circuitBreaker.errorThresholdPercentage
设置触发熔断的错误比例。默认50,即50%。
circuitBreaker.forceOpen
是否强制开启熔断
circuitBreaker.forceClosed
是否强制关闭熔断
Metrics
设置关于HystrixCommand执行需要的统计信息
metrics.rollingStats.timeInMilliseconds
设置滑动窗口的统计时间。熔断器使用这个时间。
默认10s
metrics.rollingStats.numBuckets
设置滑动统计的桶数量。默认10。metrics.rollingStats.timeInMilliseconds必须能被这个值整除。
metrics.rollingPercentile.enabled
设置执行时间是否被跟踪,并且计算各个百分比,50%,90%等的时间。默认true。
Request Context
设置HystrixCommand使用的HystrixRequestContext相关的属性.
requestCache.enabled
设置是否缓存请求,request-scope内缓存。默认true
requestLog.enabled
设置HystrixCommand执行和事件是否打印到HystrixRequestLog中。
ThreadPool Properties
配置HystrixCommand使用的线程池的属性。
大多数情况下默认的10个线程都是值得建议的。
coreSize
设置线程池的core size,这是最大的并发执行数量。默认10
maxQueueSize
最大队列长度。设置BlockingQueue的最大长度。默认-1。
如果设置成-1,就会使用SynchronizeQueue。
如果其他正整数就会使用LinkedBlockingQueue。
queueSizeRejectionThreshold
设置拒绝请求的临界值。只有maxQueueSize为-1时才有效。
设置设个值的原因是maxQueueSize值运行时不能改变,我们可以通过修改这个变量动态修改允许排队的长度。默认5
keepAliveTimeMinutes
设置keep-live时间。默认1分钟
这个一般用不到因为默认corePoolSize和maxPoolSize是一样的。
http://blog.csdn.net/heyutao007/article/details/51006694
相关推荐
1. **配置 Hystrix**:在每个微服务实例中,配置 Hystrix,启用监控端点,并设置适当的熔断和降级策略。 2. **配置 Turbine**:创建一个独立的 Turbine 服务器,配置它去聚合所有 Hystrix 实例的监控数据流。这通常...
为了充分利用 Hystrix Dashboard,我们需要将我们的服务配置为向 Hystrix Stream 发送数据。Hystrix Stream 是一个基于文本的 HTTP 流,它不断地推送服务的运行时信息。通过在服务代码中添加适当的配置,我们可以将...
Hystrix是一个由Netflix开源的延迟和容错库,旨在隔离远程系统、服务和第三方库的访问点,停止级联失败,提供后备选项,并实现优雅降级。...这说明了使用Hystrix进行服务调用时,资源隔离与限流的重要性。
调整线程池大小至20后,250个并发请求能正常处理,说明线程池大小应根据实际服务负载进行适当配置。 3. **熔断机制**:在压力测试中,通过Hystrix安全方式发起请求,虽然理论上接口请求次数多于实际处理次数,但这...
1. `src/main/java`: 这里存放的是项目的源代码,包括gRPC存根的包装类以及与Hystrix相关的配置和逻辑。 2. `pom.xml`: Maven的项目对象模型文件,定义了项目依赖、构建目标等信息,用于构建和管理项目。 3. `README...
**配置说明:** - `spring.application.name`: 应用名称。 - `server.port`: 服务端口。 - `eureka.client.register-with-eureka`: 是否向 Eureka 注册自己(Eureka 服务器不需要注册自己)。 - `eureka.client....
公司内部分享的根据网络上的资源整理的FeignClient的原理讲解PPT,包括FeignClient原理、hystrix、ribbon原理及参数配置等。
### SpringCloudNetflix系统配置说明 #### 一、SpringCloudNetflix简介 SpringCloud 是一套用于构建分布式系统的工具包,它能够帮助开发者快速实现一系列常见的分布式系统模式,如配置管理、服务发现、断路器、...
通过对这些示例的分析,你可以深入了解Hystrix在实际项目中的运用,并学习如何根据自己的需求进行定制配置。 五、Hystrix监控与仪表盘 Hystrix提供了强大的监控工具——Hystrix Dashboard,可以实时展示Hystrix的...
- **查找远程配置资源**:说明如何配置客户端从远程位置获取配置信息。 - **安全**:介绍如何保护客户端与配置服务器之间的通信安全。 - **Vault**:讨论如何集成HashiCorp的Vault来管理和保护敏感信息。 #### ...
SpringCloud是Java开发微服务架构的热门框架,它提供了服务发现、配置中心、负载均衡、熔断机制等全套解决方案...对于更详细的说明,可以查阅提供的PDF和JPG文件,它们提供了排版清晰、易于阅读的SpringCloud配置详解。
Spring Cloud Config:配置管理工具,目前支持本地存储、Git以及Subversion,可以实现应用配置的外部化存储,支持客户端配置信息刷新、加密/解密配置内容等。 Eureka:服务治理组件,包含服务注册中心、服务注册与...
- **断路器**:利用Hystrix或Resilience4j来实现服务间的故障隔离。 - **智能路由**:通过Zuul或Netflix Gateway等组件实现请求的智能分发。 - **微代理**:例如使用Spring Cloud Gateway作为API网关。 - **控制总线...
这是一个基于SpringCloud和SpringBoot的学生选课系统的源码包,包含数据库文件和项目说明,适合进行课程设计或毕业设计的学习和实践。这个项目利用了Spring生态的先进技术和微服务架构,旨在提供一个高效、可扩展的...
服务介绍项目名称编号名称说明可乐云认证认证服务认证服务基于SpringSecurity进行安全认证,采用OAuth2.0认证体系,对客户端,用户进行认证及授权,支持账号密码登录,短信验证码登录可乐云配置配置配置服务基于
而 spring-cloud-test 可能是一个包含具体代码和配置的模块,可能包括了 Eureka、Zuul、Hystrix、Ribbon 或其他 Spring Cloud 组件的配置和实现。 在实际使用中,你需要了解以下步骤来搭建和运行此项目: 1. **...
- **Spring Cloud Config客户端**:说明了如何配置客户端以监听来自Spring Cloud Bus的通知,并自动刷新其配置。 #### Spring Cloud Netflix - **服务发现:Eureka客户端**:介绍了如何集成Netflix Eureka客户端...
一篇很好的springCloud学习的思维导读,详细的介绍了,springCloud的搭建步骤以及各组件的说明讲解 涵盖 Eureka服务注册与发现 Zookeeper服务注册与发现 Consul服务注册与发现 Ribbon负载均衡服务调用 OpenFeign...
9. 客户端负载均衡器Ribbon:说明了如何自定义Ribbon客户端、使用Eureka中的Ribbon以及如何不使用Eureka进行Ribbon的配置和使用。 10. 声明式REST客户端Feign:详细阐述了如何通过Feign构建RESTful客户端,包括覆盖...
按照说明操作,可以避免因配置错误导致的服务启动失败。 “springcloud”这个目录下,可能包含了项目的核心组件代码,如: 1. Eureka:服务注册与发现。每个微服务都会向Eureka注册,其他服务可以通过Eureka找到并...