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)

相关推荐

  • 手机文件夹怎么弄,手机空白文件夹怎么创建

    技术手机文件夹怎么弄,手机空白文件夹怎么创建一手机文件夹怎么弄、在手机桌面上创建文件夹的方法:
    1、按住一个应用图标,移动到另一个应用图标上松开即可自动形成文件夹。
    2、在手机桌面双指捏合进入编辑模式,点击桌面整理,然后

    生活 2021年10月23日
  • sqoop mysql hive之间的关系(sqoop导入数据到hive语句)

    技术Sqoop+Hive+MySQL怎么配置用户某时间范围这篇文章主要讲解了“Sqoop+Hive+MySQL怎么配置用户某时间范围”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究

    攻略 2021年12月23日
  • 去除衣服霉点小妙招,怎样去除衣服上面的霉点

    技术去除衣服霉点小妙招,怎样去除衣服上面的霉点家里长期存放的衣服上面都会有或大或小的霉斑,可以用以下方法去除去除衣服霉点小妙招:1、棉线衣服出现霉斑时,用绿豆芽在有霉斑的地方反复揉搓,并用清水漂洗干净,霉斑就会消除。丝绸

    生活 2021年10月21日
  • 如何安装xtrabackup

    技术如何安装xtrabackup这篇文章主要为大家展示了“如何安装xtrabackup”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何安装xtrabackup”这篇文章吧。

    攻略 2021年11月6日
  • HiveMQ是什么

    技术HiveMQ是什么小编给大家分享一下HiveMQ是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!简单介绍HiveMQ是企业级MQTT

    攻略 2021年12月10日
  • 怎么理解MySQL的innodb_flush_method

    技术怎么理解MySQL的innodb_flush_method这篇文章主要讲解了“怎么理解MySQL的innodb_flush_method”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一

    攻略 2021年11月19日