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的配置




往期精彩



01 Sentinel如何进行流量监控

02 Nacos源码编译

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

04 spring boot项目整合xxl-job

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

关注我

每天进步一点点

喜欢!在看☟
浏览 30
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报