首页 > 其他分享 >SpringCloud EasyConfig介绍与使用

SpringCloud EasyConfig介绍与使用

时间:2024-08-02 16:20:07浏览次数:17  
标签:配置文件 SpringCloud 配置 介绍 借助 spring EasyConfig 服务端 加载

maven引入方式

<dependency>
    <groupId>icu.liufuqiang</groupId>
    <artifactId>spring-cloud-easy-config-starer</artifactId>
    <version>0.1.0</version>
</dependency>

仓库地址

https://gitee.com/LiuFqiang/spring-cloud-easy-config

介绍

在单体架构中我们一般将配置写在配置文件中,但有一个缺点是每次修改配置都需要重启服务才能生效,如果是集群多个节点修改某个配置重启全部节点达到最终修改的状态,需要花费一定的时间,
所以才有了动态配置的一些组件比如Nacos,借助服务端,再将客户端集成到项目中,通过客户端与服务端交互来达到配置的动态更新,但是对于一些小型的项目,完全没有必要集成nacos,需要额外部署服务端,
springcloud EasyConfig达到了最轻量级来实现配置的动态刷新,不需要服务端,只需要借助jdbc将配置存储在数据库中。

原理描述

因为是springboot项目,所以通过spring的生命周期来扩展,因为有一些bean需要借助与配置文件的内容,比如spring datasource,还有一些配置将影响spring容器及bean的加载,所以首次加载项目外的配置文件这个过程是整个生命周期最早的一步
所以我们可以借助ApplicationContextInitializer,在spring上下文刷新之前做各种准备工作,将远程的配置放入Environment中,这样容器加载的时候里面的配置信息等同于项目application.yml扫描到的配置;
SpringBoot2.4.0之后引入了ConfigData专门用来加载远程的配置信息,不过还是借助spring的生命周期,EnvironmentPostProcessor,Environment后置处理器,在spring环境变量准备好之前是还未开始自动配置之前,应该是最早的一个扩展点,
所以可以在这个地方加载远程的配置信息,进而引导spring的正常创建
当数据库里的配置文件发送变化,会借助springcloud的RefreshEvent事件以及@RefreshScope注解进行配置的动态刷新,也不是所有的配置都可以动态刷新,只有bean属性的配置才可以刷新。

标签:配置文件,SpringCloud,配置,介绍,借助,spring,EasyConfig,服务端,加载
From: https://www.cnblogs.com/LiuFqiang/p/18338936

相关文章

  • 科大讯飞AI学习机P30 值得入手吗 功能介绍
    科大讯飞AI学习机P30是一款功能强大的学习设备,适用于小学到高中各个年龄段的学生。其拥有6GB内存和256GB存储空间,运行更加流畅,存储更加充裕,能够满足学生各种学习和娱乐需求。11英寸护眼平板设计有效减少了眼睛疲劳,保护了学生的视力健康。此外,P30还配备了丰富的英语学习资源和交互......
  • SpringCloud使用Sentinel,Sentinel持久化,Sentinel使用nacos持久化
    Sentinel官方文档:https://sentinelguard.io/zh-cn/docs/introduction.html下载Sentinel:https://github.com/alibaba/Sentinel/releasessentinel控制台文档:https://sentinelguard.io/zh-cn/docs/dashboard.html参考:https://www.cnblogs.com/ralgo/p/14152390.html启动Sentinel命令:j......
  • 最新SEO自动外链蜘蛛池工具促进百度快速收录使用方法介绍
    此工具集成市面上所有自动外链网站的资源链接,经过合并、去重、筛选、验证总结出最终的外链资源,软件实时更新 本软件将您繁杂的外链推广转为自动化进行,并且加入站群的支持,您只需要将你的站群域名粘贴到软件里,点击开始按钮就可以了 软件会自动轮刷您的每一个网站 软件效......
  • 以图搜图功能介绍
    一、以图搜图的原理以图搜图是一种基于图像内容进行搜索和匹配的技术,其主要原理涵盖了以下关键步骤和技术:1.图像特征提取在这个初始阶段,对于要搜索的图像以及数据库中存储的大量图像,都需要进行特征提取的操作。这就好比从一个大果园中挑选出各种水果的独特特征,比如苹果的颜色......
  • Flutter 插件之http(介绍、使用、二次封装)
    背景在我们日常开发过程中,经常会使用到网络请求,而在Flutter插件中,最常用的请求插件一共两个,分别是:1、dio2、http其中dio我已经做过详细介绍了(post、get等请求、文件上传、请求重试等),这里就不做过多阐述,下面附上文章链接,如有需要可前往查看。https://blog.csdn.net/WangQin......
  • 网络编程基本流程介绍
    参照:恋恋风尘的官方博客讲解:C++asio网络编程笔记下载地址:gitee:笔记/c++/网络编程/asio网络编程基本流程网络编程的基本流程对于服务端是这样的服务端socket——创建socket对象。bind——绑定本机ip+port。listen——监听来电,若在监听到来电,则建立起连接。accept——......
  • 现代前端架构介绍(第一部分):App是如何由不同的构建块构成的
    远离JavaScript疲劳和框架大战,了解真正重要的东西几周前,我的同事们对我们的前端架构、代码结构和面临的挑战很感兴趣。在做了几次关于如何构建可扩展且健壮的前端的演讲后,我觉得把它们都总结一下并与社区分享我们的策略是一个不错的主意。废话不多说,以下是第一部分。......
  • 微信小程序生命周期函数介绍
    微信小程序生命周期函数有两种   页面生命周期:onLoad,onShow,onReady,onHide,onUnload等   组件的生命周期:created,attached,ready,moved,detached,erroronLoad:监听页面加载一个页面只会调用一次,能够在onLoad中获取打开当前页面所调用的query参数     onLoad(options){......
  • 数据库系列: 主流分库分表中间件介绍(图文总结)
    相关文章数据库系列:MySQL慢查询分析和性能优化数据库系列:MySQL索引优化总结(综合版)数据库系列:高并发下的数据字段变更数据库系列:覆盖索引和规避回表数据库系列:数据库高可用及无损扩容数据库系列:使用高区分度索引列提升性能数据库系列:前缀索引和索引长度的取舍数据库系列:My......
  • x264 中多线程相关编码参数详细介绍
    多线程编码相关参数参数名称参数类型参数含义cpuuint32_tcpu型号i_threadsint并行编码线程数i_lookahead_threadsint在lookahead分析中使用多线程b_deterministicint当开启多线程时是否允许非确定性优化b_sliced_threadsint是否使用基于......