Hystrix之Command属性

本文深入探讨了HystrixCommand的execution和circuitBreaker属性配置,包括执行超时时间、断路器请求阈值、休眠窗口时间和错误百分比。通过配置这些参数,可以有效地控制服务容错和熔断策略,确保系统的稳定性和可靠性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Command属性主要用来控制HystrixCommand命令的行为

主要有五种不同类型的属性配置
1. execution配置

execution配置控制的是HystrixCommand.run()的执行

** execution.isolation.thread.timeoutInMilliseconds: 该属性用来配置HystrixCommand执行的超时时间,单位为毫秒。
当HystrixCommand执行的时间超过该配置值之后,Hystrix会将该执行命令标记为  TIMEOUT 并进入服务降级处理逻辑

全局默认值:1000毫秒

实例配置属性:hystrix.command.HystrixCommandKey.execution.isolation.thread.timeoutInMilliseconds

实例默认值: @HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds", value="2000") 注解来设置

设置为 2000 毫秒

2.circuitBreaker配置

@HystrixProperty(name="circuitBreaker.requestVolumeThreshold", value="30")
该属性用来设置在滚动时间窗中,断路器熔断的最小请求数,比如设置为30,那么即使收到29个请求且请求都失败了,断路器也不会打开

circuitBreaker.sleepWindowInMilliseconds: 使用方法同上
该属性用来设置当断路器打开之后的休眠时间窗,休眠时间窗结束后,会将断路器置为"半开"状态,尝试熔断的请求命令,若依然失败则设置为"打开"状态,否则为"关闭"状态

circuitBreaker.errorThresholdPercentage: 使用方法同上
设置断路器打开的错误百分比条件,默认为50

circuitBreaker.forceOpen:
强制断路器为"打开"状态,默认为false
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds: 
设置API网关中路由转发请求的 HystrixCommand 执行超时时间
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值