hystrix参数说明

zuul.host.maxTotalConnections: 200 最大连接数  
zuul.host.maxPerRouteConnections: 10 单连接数
zuul.semaphore.max-semaphores: 128 最大信号量
zuul.eureka.[service id].semaphore.maxSemaphores: 128 某个service id服务最大信号量
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds 超时时间

circuitBreaker.requestVolumeThreshold 至少在一个统计窗口内有多少个请求后,才执行断路器的开关,默认20
circuitBreaker.sleepWindowInMilliseconds 断路器触发后多久后才进行下一次判定,默认5000毫秒
circuitBreaker.errorThresholdPercentage 一个统计窗口内百分之多少的请求失败才触发熔断,默认是50%
execution.isolation.strategy 运行隔离策略,支持Thread,Semaphore,前者通过线程池来控制同时运行的命令,后者通过信号来控制,默认是Thread
execution.isolation.thread.interruptOnTimeout 命令执行的超时时间,默认1000毫秒
coreSize 线程池大小,默认10
keepAliveTimeMinutes 线程存活时间,默认为1分钟
maxQueueSize 最大队列长度,-1使用SynchronousQueue,默认-1。
queueSizeRejectionThreshold 允许队列堆积的最大数量

 

转载于:https://www.cnblogs.com/ahitbo/p/7009925.html

Hystrix是一个开源的故障隔离和熔断库,它是由Netflix开发的,用于处理分布式系统中的服务请求。Hystrix的主要目标是提供一个安全的、有弹性的框架,帮助系统在面对服务不可用或过载时仍能保持运行,并提供有用的监控数据。以下是Hystrix设置的一些关键概念和配置: 1. **命令(Command)**:Hystrix将一个服务请求封装为一个“命令”,每个命令都有自己的线程池,当命令执行失败时,会触发回退策略。 2. **线程池(ThreadPool)**:为每个命令创建一个独立的线程池,用于异步执行命令。线程池的大小、超时等配置影响了服务的响应时间和容错能力。 3. **熔断器(Circuit Breaker)**:这是一个开关机制,当某个服务调用频繁失败或超时,熔断器会打开,阻止进一步的请求,直到状态恢复。 4. **超时(Timeout)**:可以设置每个命令的最大执行时间,防止无响应的服务阻塞整个请求链路。 5. **信号量(Semaphore)**:限制同一时间可以并发执行的命令数量,防止单点服务过载。 6. **缓存(Cache)**:Hystrix提供了基于Redis等缓存的请求结果存储,提高响应速度并降低后端压力。 7. **健康检查(Health Check)**:定期发送简单的请求来验证服务的健康状况,用于监控和显示服务的状态。 8. **仪表板(Dashboard)**:Hystrix提供了可视化工具,可以帮助监控和诊断命令的执行情况、失败率等。 相关问题-- 1. 如何在Hystrix中启用熔断器? 2. 如何配置Hystrix线程池的大小? 3. 如何使用Hystrix的健康检查功能? 4. Hystrix Dashboard如何接入到我的应用中? 5. Hystrix如何实现命令之间的依赖控制?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值