Sentinel整合Apollo进行规则持久化(三)
JAVA乐园
共 1357字,需浏览 3分钟
·
2020-08-11 00:39
阅读文本大概需要3分钟。
【Sentinel整合Apollo进行规则持久化(二)】验证步骤可能有些讲的不够清楚,这篇文件在补一下相关验证步骤,网上的很多文章也没有说到这块。
0x01:按照约定规则配置Key
上篇文章把如下代码注释了
String flowDataId = ApolloConfigUtil.getFlowDataId(appName);
然后写死了
String flowDataId = "flowRules";
今天来分析一下如果不写死这个flowDataId,而是使用原来的代码如何在Apollo配置中心配置Key,和在微服中如何定义flowRulesKey。
先看下ApolloConfigUtil的源码:
package com.alibaba.csp.sentinel.dashboard.rule.apollo;
/**
* @author hantianwei@gmail.com
* @since 1.5.0
*/
public final class ApolloConfigUtil {
public static final String FLOW_DATA_ID_POSTFIX = "-flow-rules";
private ApolloConfigUtil() {
}
public static String getFlowDataId(String appName) {
return String.format("%s%s", appName, FLOW_DATA_ID_POSTFIX);
}
}
可以看出flowDataId = appName + "-flow-rules",即微服务名 +常量"-flow-rules"。
0x02:Apollo配置中心新建配置
微服务名对应配置文件application.yml的
spring:
application:
name: xxxxx
如图:
0x03:微服务配置文件修改
这里定义了微服名为pay-service,则flowRuleKey按照规则:
flowDataId = appName + "-flow-rules"
flowRuleKey为pay-service-flow-rules
0x03:验证配置同步
在Apollo修改配置,查询Sentinel是否同步
修改前Sentinel的配置
在Apollo进行修改
修改后Sentinel的配置
在Sentinel修改配置,Apollo查询是否同步
修改前Apollo的配置
在Sentinel进行修改
修改后Apollo的配置
☆
往期精彩
☆
02 Nacos源码编译
关注我
每天进步一点点
评论