Sentinel-dashboard降级规则持久化改造
降级规则改造可参考限流规则
1 将rule/nacos/flow文件夹复制放在同级文件夹下重命名为degrade
2 在DegradeController注入degradeRuleNacosProvider和degradeRuleNacosPublisher
成功注入后修改规则获取/推送方式
修改前关键代码
List<DegradeRuleEntity> rules = sentinelApiClient.fetchDegradeRuleOfMachine(app, ip, port);
rules = repository.saveAll(rules);
return Result.ofSuccess(rules);
private boolean publishRules(String app, String ip, Integer port) {
List<DegradeRuleEntity> rules = repository.findAllByMachine(MachineInfo.of(app, ip, port));
return sentinelApiClient.setDegradeRuleOfMachine(app, ip, port, rules);
}
修改后关键代码
List<DegradeRuleEntity> rules = ruleProvider.getRules(app);
rules = repository.saveAll(rules);
return Result.ofSuccess(rules);
private void publishRules(String app) throws Exception {
List<DegradeRuleEntity> rules = repository.findAllByApp(app);
rulePublisher.publish(app, rules);
}
到这里降级规则持久化就完成啦,其他规则思路和降级改造方式相同。
有什么问题或者错误的的地方欢迎指点!