hystrix原理
服务的健康状况 = 请求失败数 / 请求总数.
熔断器开关由关闭到打开的状态转换是通过当前服务健康状况和设定阈值比较决定的.
1: 当熔断器开关关闭时, 请求被允许通过熔断器. 如果当前健康状况高于设定阈值, 开关继续保持打开. 如果当前健康状况低于设定阈值, 开关则切换为关闭状态.
2:当熔断器开关打开时, 请求被禁止通过.
3:当熔断器开关处于打开状态, 经过一段时间后(默认值5s), 熔断器会自动进入半开状态, 这时熔断器只允许一个请求通过. 当该请求调用成功时, 熔断器恢复到关闭状态. 若该请求失败, 熔断器继续保持打开状态, 接下来的请求被禁止通过。
配置参数详解
/**
* 熔断测试
*/
@RequestMapping("/CircuitBreaker/{name}")
@HystrixCommand(fallbackMethod = "breakerFallback",
commandProperties = {
//rolling windows的参数 hystrix.command.default.metrics.rollingStats.timeInMilliseconds = 10000(10s)默认值
// 前提条件,默认10秒内请求数量达到20个就启动熔断器进行统计是否要开启熔断,这里在rolling window(10s)内至少的访问次数。
@HystrixProperty(name=HystrixPropert