所以,只需要通过这两个接口,实现对配置中心中存储规则的读写,就能实现Sentinel Dashboard
中修改规则与配置中心存储同步的效果。
具体的配置数据流向图如下:
其中,绿色箭头为公共公共部分,即:不论从培中心修改,还是从Sentinel Dashboard
修改都会触发的操作。这样的话,从上图的两处修改起点看,所有涉及的部分都能获取到一致的限流规则了。
代码实现
下面继续说说具体的代码实现,这里参考了Sentinel Dashboard
源码中关于Apollo实现的测试用例。但是由于考虑到与Spring Cloud Alibaba的结合使用,略作修改。
第一步:修改pom.xml
中的Apollo OpenAPi的依赖,将<scope>test</scope>
注释掉,这样才能在主程序中使用。
com.ctrip.framework.apollo
apollo-openapi
1.2.0
第二步:找到resources/app/scripts/directives/sidebar/sidebar.html
中的这段代码:
-
流控规则
修改为:
-
流控规则
第三步:在
com.alibaba.csp.sentinel.dashboard.rule
包下