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.花飞花谢花满天,红消香断有谁怜。——《红楼梦》葬花吟3.燕子不归春事晚,一汀烟雨杏花寒

    生活 2021年10月27日
  • 古典密码学——移位密码 Shift Cipher

    技术古典密码学——移位密码 Shift Cipher 古典密码学——移位密码 Shift Cipher移位密码的理论基础是数论中的模运算。模运算的基本定义:假设a和b均为整数,m是一正整数。若m整除a-

    礼包 2021年12月3日
  • ios的系统架构分为四层(ios端app主要用啥工具开发)

    技术iOS的系统架构分为多少个层次这篇文章将为大家详细讲解有关iOS的系统架构分为多少个层次,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

    攻略 2021年12月24日
  • 如何把mysqld压测到崩溃重启

    技术如何把mysqld压测到崩溃重启小编给大家分享一下如何把mysqld压测到崩溃重启,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、压测环境工具准备:centos7.5
    sysbench2.

    攻略 2021年10月26日
  • Java程序开发环境配置图文的方法是什么

    技术Java程序开发环境配置图文的方法是什么本篇内容介绍了“Java程序开发环境配置图文的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大

    攻略 2021年11月19日
  • max是什么意思车上的,雷克萨斯max什么意思

    技术max是什么意思车上的,雷克萨斯max什么意思max的意思是最大max是什么意思车上的,如果是车内的max按键,那一般是空调的强冷按键。在发动机机油尺上,也有max。max是最高液位,添加机油时不要让液位超过max刻

    生活 2021年10月22日