SpringCloud动态配置变化监控的实例分析

技术SpringCloud动态配置变化监控的实例分析SpringCloud动态配置变化监控的实例分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所

很多新手对SpringCloud动态配置变更监控的案例分析不是很清楚。为了帮助大家解决这个问题,下面小编就为大家详细讲解一下。有这种需求的人可以从中学习,希望你能有所收获。

00-1010配置中心包括原SpringCloud Config、国内开源阿里Nacos、携程Apollo等。其他功能是在配置热加载的基础上增加的。

配置中心具有热加载配置、修改配置-推送至程序-执行配置更新的功能。

但这些组件未能得到配置更新的具体内容(SpringCloud Config、Nacos、Apollo有待验证)。例如,获取已更改的配置测试,更新前为123,更新后为111。

SpringCloud Config、Nacos和Apollo都是通过将整个配置文件推送到服务进行配置比较来更新的。在这个阶段,用户无法从程序中获得更新的内容。

为了实现这个扩展的功能点,程序可以感知更新结果。在这个阶段,用户可以通过代码监控配置,监控配置更改并执行其他操作。

示例:获得推送配置更改,感知测试更改,并更新和同步数据。

感知结果集如:

{

`更新的配置密钥` :{。

在:“原始值”之前,

在:“更新值”之后

},

`更新的配置密钥` :{。

在:“原始值”之前,

在:“更新值”之后

}

}

简介

功能使用

ps:.的实际版本请使用最新版本

属国

groupIdcom.purgeteam/groupId

artifactIddynamic-config-spring-boot-starter/artifactId

version0.1.0.RELEASE/version

/dependency当然,实际情况要结合添加SpringCloud Config、Nacos、Apollo等动态配置依赖包。

dynamic-config-spring-boot-starter模块不包含上述依赖项,需要自己添加。

00-1010简介:打开此功能注释,并能够配置推送更新监控。

启动该类并添加@ enableddynamicconfigevent注释以打开配置更改监控功能。

@EnableDynamicConfigEvent

@回弹应用

public classdynamicconfigspringbootapplication {

publicationstativitmain(String[]args){ 0

springapplication . run(dynamicconfigspringbootpapplication . class,args);

}

}

添加依赖

创建NacosListener(名称是可选的)并实现applicationlistener actionconfigevent # on application entevent方法。

@Slf4j

@组件

公共图书馆

ic class NacosListener implements ApplicationListener<ActionConfigEvent> {
  @Override
  public void onApplicationEvent(ActionConfigEvent event) {
    log.info("接收事件");
    log.info(event.getPropertyMap().toString());
  }
}

NacosListener#onApplicationEvent 方法里获取目标值, 作相应的逻辑处理。

ActionConfigEvent event:

public class ActionConfigEvent extends ApplicationEvent {
    // 事件说明
    private String eventDesc;
    
    // 更新变化结果集
    private Map<String, HashMap> propertyMap;
    ...
}

ActionConfigEvent 主要包含 Map<String, HashMap> propertyMap;, 从这里可以获取更新变化结果, propertyMap结构如下:

{
    `被更新的配置key`:{
        before: `原来的值`,
        after: `更新后的值`
    },
    `被更新的配置key`:{
        before: `原来的值`,
        after: `更新后的值`
    }
}

更新配置演示

ps: 示例为 Nacos 其它配置中心无差别。

原始配置:

test.age=18
user.name=purgeyao

修改配置:

# test.age 将18更新为19
test.age=19
user.name=purgeyao

NacosListener#onApplicationEvent 方法加入端点调试观察 ActionConfigEvent 对象参数。

SpringCloud动态配置变化监控的实例分析

更新的 test.age 已经被记录在了 ActionConfigEvent.propertyMap 里了, 从 18 更新为 19。

控制台打印:

2019-10-17 10:44:09.221  INFO 54054 --- [-10.1.1.97_8848] c.p.dynamic.config.demo.NacosListener    : 接收事件
2019-10-17 10:45:19.752  INFO 54054 --- [-10.1.1.97_8848] c.p.dynamic.config.demo.NacosListener    : {test.age={before=18, after=19}}

上述功能基于 NacosSpringCloud Config 或基于 SpringCloud Config 之上构建的配置中心都可以使用, 其他配置中心待验证。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/51146.html

(0)

相关推荐

  • ebit,ebit变动率公式推导

    技术ebit,ebit变动率公式推导定义计算公式为DOL=息税前利润变动率/产销量变动率=(△EBIT/EBIT)/(△Q/Q),△EBIT是息税前利润变动额,△Q为产销量变动值ebit。公式的推导:经营杠杆系数=(销售

    生活 2021年10月23日
  • 如何快速搭建实用的爬虫管理平台

    技术如何快速搭建实用的爬虫管理平台这篇文章主要讲解了“如何快速搭建实用的爬虫管理平台”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何快速搭建实用的爬虫管理平台”吧!爬虫

    攻略 2021年10月23日
  • vim之基础操作

    技术vim之基础操作 vim之基础操作VIM操作手册
    简介
    vim 被称为模式化的编辑器,其有三种基本模式,分别为编辑模式,可进行文本编辑如(删除、复制、粘贴等),输入模式,可进行文本输入操作,以及末行

    礼包 2021年12月23日
  • Spring Boot 分层打包 Docker 镜像实践及分析

    技术Spring Boot 分层打包 Docker 镜像实践及分析 Spring Boot 分层打包 Docker 镜像实践及分析Spring Boot 分层打包 Docker 镜像实践及分析
    1. 准

    礼包 2021年12月10日
  • 怎么理解iOS开发中Cocos2d-x的CCSpriteBatchNode

    技术怎么理解iOS开发中Cocos2d-x的CCSpriteBatchNode怎么理解iOS开发中Cocos2d-x的CCSpriteBatchNode,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解

    攻略 2021年11月11日
  • X-MSG-IM频道状态服务的实现思路是什么

    技术X-MSG-IM频道状态服务的实现思路是什么这期内容当中小编将会给大家带来有关X-MSG-IM频道状态服务的实现思路是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。描述了X-M

    攻略 2021年10月29日