Sentinel整合Apollo进行规则持久化(三)

阅读文本大概需要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 [email protected]
 * @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:微服务配置文件修改

Sentinel整合Apollo进行规则持久化(三)_第1张图片

这里定义了微服名为pay-service,则flowRuleKey按照规则: 

flowDataId = appName + "-flow-rules"

flowRuleKey为pay-service-flow-rules

0x03:验证配置同步

  • 在Apollo修改配置,查询Sentinel是否同步

修改前Sentinel的配置

Sentinel整合Apollo进行规则持久化(三)_第2张图片

在Apollo进行修改

Sentinel整合Apollo进行规则持久化(三)_第3张图片

修改后Sentinel的配置

Sentinel整合Apollo进行规则持久化(三)_第4张图片

  • 在Sentinel修改配置,Apollo查询是否同步

修改前Apollo的配置

在Sentinel进行修改

Sentinel整合Apollo进行规则持久化(三)_第5张图片

修改后Apollo的配置

往期精彩

01 Sentinel如何进行流量监控

02 Nacos源码编译

03 基于Apache Curator框架的ZooKeeper使用详解

04 spring boot项目整合xxl-job

05 互联网支付系统整体架构详解

关注我

每天进步一点点

喜欢!在看☟

你可能感兴趣的:(Sentinel整合Apollo进行规则持久化(三))