总结
- 使用代码的方式,配置流控规则,没有起作用,为什么?
@PostConstruct
public void initFlowRules() {
List<FlowRule> rules = new ArrayList<>();
FlowRule flowRule = new FlowRule();
flowRule.setRefResource("getOrderNo");
flowRule.setGrade(0);
flowRule.setCount(1);
rules.add(flowRule);
FlowRuleManager.loadRules(rules);
}
- 应用注册到了dashboard之后,如果重启应用,则规则会被清空。
- 我觉得
@SentinelResource
应该放在controller实现,这样就避免了多次调用service导致的性能问题。加入100个请求,QPS阈值限制=1,如果配置在service,那么就还会有99个请求从Spring容器中进行获取bean操作,这样会否造成性能问题? @SentinelResource
应该配置一下value,否则链路中就是方法的全限定名称,配置的时候应该取controller对应的URL接口。- 熔断降级,一般是在consumer端配置
- 熔断的时候,慢调用当次还是能正常使用,但是满足熔断条件之后,就不能正常调用了。等过了熔断时间,就会进入半开状态。