前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Sentinel整合Apollo进行规则持久化(三)

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

作者头像
BUG弄潮儿
发布2020-08-10 15:51:27
6330
发布2020-08-10 15:51:27
举报
文章被收录于专栏:JAVA乐园

这篇文件在补一下相关验证步骤,网上的很多文章也没有说到这块。

0x01:按照约定规则配置Key

上篇文章把如下代码注释了

代码语言:javascript
复制
 String flowDataId = ApolloConfigUtil.getFlowDataId(appName);

然后写死了

代码语言:javascript
复制
String flowDataId = "flowRules";

今天来分析一下如果不写死这个flowDataId,而是使用原来的代码如何在Apollo配置中心配置Key,和在微服中如何定义flowRulesKey。

先看下ApolloConfigUtil的源码:

代码语言:javascript
复制
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的

代码语言:javascript
复制
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的配置

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-08-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 BUG弄潮儿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
微服务引擎 TSE
微服务引擎(Tencent Cloud Service Engine)提供开箱即用的云上全场景微服务解决方案。支持开源增强的云原生注册配置中心(Zookeeper、Nacos 和 Apollo),北极星网格(腾讯自研并开源的 PolarisMesh)、云原生 API 网关(Kong)以及微服务应用托管的弹性微服务平台。微服务引擎完全兼容开源版本的使用方式,在功能、可用性和可运维性等多个方面进行增强。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档