这是我参与11月更文挑战的第25天,活动详情查看:2021最后一次更文挑战
- 修改resources/app/scripts/directives/sidebar/sidebar.html文件部分代码,把dashboard.flowV1改成dashboard.flow。
1 | html复制代码<li ui-sref-active="active" ng-if="entry.isGateway"> |
修改后会调佣FlowControllerV2的接口。
- 在com.alibaba.csp.sentinel.dashboard.rule包中创建一个Nacos包,并创建一个类用加载外部化配置。
1 | java复制代码@Data |
- 创建一个Nacos配置类NacosConfiguration
1 | java复制代码@EnableConfigurationProperties(NacosPropertiesConfiguration.class) |
注入Controller转换器,把FlowRuleEntity转化为FlowRule,并且反向转化
注入Nacos配置服务ConfigService
- 创建一个常量类NacosConstants,分别表示默认的data_id和group_id的后缀。
1 | java复制代码public class NacosConstants{ |
- 实现动态从Nacos配置中心获取流控规则
1 | java复制代码@Service |
通过ConfigService.getConfig方法从Nacos Config服务端中读取指定配置信息,并且通过converter转化为FlowRule规则。
- 创建一个流控规则发布类,在Sentinel Dashboard 上修改配置后,需要调用发布方法将数据持久化到Nacos配置中心上。
1 | java复制代码@Service |
本文转载自: 掘金