sentinel降级误解
public void initDegradeRule(){
List<DegradeRule> rules=new ArrayList<>();
DegradeRule rule=new DegradeRule();
rule.setResource("degradeTest");
rule.setCount(5);
rule.setGrade(RuleConstant.DEGRADE_GRADE_EXCEPTION_COUNT);
rule.setTimeWindow(80);
rules.add(rule);
DegradeRuleManager.loadRules(rules);
}
public Object fallback(Throwable e){
e.printStackTrace();
return "fall back response";
}
@SentinelResource(value="degradeTest",fallback = "fallback")
@RequestMapping("sentinel-degrade")
public Object degradeSentinel(){
System.out.println(i);
if (i/2==0){
throw new RuntimeException();
}
return "healthy response";
}
这里80秒内5次异常触发熔断,并不是说超过5次才触发fallback方法,而是每次都会,只不过第5次开始fallback方法拿到的是一个DegradeException:


浙公网安备 33010602011771号