Nacos配置文件管理、微服务获取Nacos配置文件、热更新、配置共享、配置优先级等

这篇具有很好参考价值的文章主要介绍了Nacos配置文件管理、微服务获取Nacos配置文件、热更新、配置共享、配置优先级等。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

传统项目中,当我们需要修改配置文件时,需要修改配置文件,停掉服务,重启服务,这样不利于提升用户体验;
而使用Nacos进行项目的配置文件管理,则可以实现热更新配置文件,在Nacos中修改之后,Nacos会通知项目新的配置文件。
Nacos配置文件管理、微服务获取Nacos配置文件、热更新、配置共享、配置优先级等

添加配置文件

第一步,点击添加配置:
Nacos配置文件管理、微服务获取Nacos配置文件、热更新、配置共享、配置优先级等
第二步,配置信息
Nacos配置文件管理、微服务获取Nacos配置文件、热更新、配置共享、配置优先级等
注意:不是所有的配置都写到Nacos中,只建议把那些可能会出现变化的配置写入Nacos,比如说:某活动是否开启(true/false)、日期格式模板(yyyymmdd/yyyy-mm-dd)等,
而不需要写入Nacos管理的配置比如:数据库地址、自身服务名等

微服务获取Nacos中的配置

我们在Nacos中配置了配置文件,那我们的项目在运行时,如何去获取呢?
Nacos配置文件管理、微服务获取Nacos配置文件、热更新、配置共享、配置优先级等
在以前不使用Nacos进行配置管理时,是使用这样的流程,读取配置文件;那我们在使用Nacos后,我们要什么时候去读取,以什么方式读取Nacos中的文件呢?
Nacos配置文件管理、微服务获取Nacos配置文件、热更新、配置共享、配置优先级等
我们的项目会在读取本地配置文件application.yml之前,去读取Nacos中的配置,然后读取本地配置,再进行合并;

那么此时有一个问题:我Nacos的地址写在application.yml中,我们如何在读取本地配置文件之前,去访问Nacos地址,读取到Nacos中的配置呢?
答案是使用bootstrap.yml。在springboot中,bootstrap.yml的优先级高于application.yml,所有系统会在加载完bootstrap.yml中的配置之后,读取到Nacos的地址,访问Nacos,获取配置文件,再读取application.yml中的配置信息,进行合并。

我们在Nacos中配置日期格式字符串,进行验证:
Nacos配置文件管理、微服务获取Nacos配置文件、热更新、配置共享、配置优先级等
Nacos配置文件管理、微服务获取Nacos配置文件、热更新、配置共享、配置优先级等
第一步,引入Nacos客户端(config)依赖
第二步,在bootstrap.yml中写好本服务名称、开发环境、Nacos地址、文件后缀名,系统将会组合好这些信息去Nacos中获取配置文件
Nacos配置文件管理、微服务获取Nacos配置文件、热更新、配置共享、配置优先级等
第三步,测试是否能够获取Nacos中配置的日期格式
Nacos配置文件管理、微服务获取Nacos配置文件、热更新、配置共享、配置优先级等
服务启动,访问控制层,获取日期格式成功并按格式返回结果,证明获取Nacos中配置文件成功
注意:如果配置了命名空间,也需要配置命名空间
Nacos配置文件管理、微服务获取Nacos配置文件、热更新、配置共享、配置优先级等

Nacos配置文件热更新

Nacos的好处之一就是可以实现配置文件热更新,那么我们要如何来实现项目启动后,还可以热更新配置文件呢?
共有两种方式:
第一种,在使用Nacos中配置文件的地方,加上@RefreshScope注解,即可实现热更新。
比如:Nacos修改完配置文件之后,只需刷新前端页面,即可获得最新配置
Nacos配置文件管理、微服务获取Nacos配置文件、热更新、配置共享、配置优先级等
第二种方式:添加配置类,在配置类上加注解@configrationproperties注解,使其注入到spring容器之中,即可实现热更新

Nacos配置文件管理、微服务获取Nacos配置文件、热更新、配置共享、配置优先级等
示例:
更新前:
Nacos配置文件管理、微服务获取Nacos配置文件、热更新、配置共享、配置优先级等
修改日期格式为yyyy年mm月dd日,点击发布:
Nacos配置文件管理、微服务获取Nacos配置文件、热更新、配置共享、配置优先级等
不用重启,直接刷新页面,即可取得最新配置值:
Nacos配置文件管理、微服务获取Nacos配置文件、热更新、配置共享、配置优先级等

配置共享

在实际开发中,有很多配置项是在Dev(Develpment )开发环境,sit(System Integration Test )系统集成测试,uat(User Acceptance Test)用户验收测试,等多种环境都用到的配置项
这种配置项如果在每个环境的配置都写一遍,很麻烦不说,万一要修改起来,也要一个个地改。
那么有没有一种方法,可以实现这样的重复配置,集中放在一个地方,一个配置文件中呢?修改时只需修改这一个地方,所有的环境中调用这个配置的地方都能得到这个值呢?
这就是我们的配置共享:
Nacos配置文件管理、微服务获取Nacos配置文件、热更新、配置共享、配置优先级等
userservice-dev.yml是环境配置文件,对应不同的开发环境
而userservice.yml就是共享配置文件,各种环境都能读取到,不用再每个配置文件中再写一遍

注意:当我们项目中的配置文件(本地配置)、Nacos中的共享配置、Nacos的环境配置(如dev、uat等配置 )都配置了一项属性,那么在项目启动后,会优先读取哪里的配置呢?
答案:Nacos环境配置(dev、sit、uat等)>远端共享配置>本地配置
Nacos配置文件管理、微服务获取Nacos配置文件、热更新、配置共享、配置优先级等
也就是说,如果Nacos环境配置文件、Nacos共享配置文件、项目的本地配置文件都有相同的配置属性,那么项目访问的时候,优先使用Nacos环境配置文件,其次是共享配置,最后是本地配置文章来源地址https://www.toymoban.com/news/detail-410807.html

到了这里,关于Nacos配置文件管理、微服务获取Nacos配置文件、热更新、配置共享、配置优先级等的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SpringCloud + Nacos配置文件加载顺序和优先级详解

    在微服务架构中,合理地管理和理解配置文件的加载顺序与优先级对于确保应用的稳定性和灵活性至关重要。特别是在使用 Spring Cloud Alibaba Nacos 作为配置中心的场景下,这一点显得尤为重要。本文将基于一个具体的 bootstrap.yml 配置示例,深入探讨这些概念,并介绍如何通过

    2024年03月27日
    浏览(49)
  • 【微服务】配置Nacos管理SpringBoot配置文件(附解压包)

       📝个人主页:哈__ 期待您的关注  一、什么是Nacos Nacos可以帮助我们配置和管理微服务,是阿里的一个开源产品,是针对微服务架构中的服务发现、配置管理、服务治理的综合型解决方案。Nacos可以用来实现配置中心和服务注册中心。 二、Windows安装Nacos 点击此处下载解压

    2024年04月17日
    浏览(38)
  • 微服务 nacos 配置共享配置

    微服务共享配置 在企业开发中,一个微服务架构的项目往往包含着很多个微服务,而各个微服务中难免有些公共重叠的配置,我们可以提取出功能的配置文件 第一步 在nacos 之新建共享配置的文件 dh-shareConfig-dev.yaml 里面可以包含各个微服务的公共配置 第二步各个微服务中指

    2024年02月07日
    浏览(40)
  • Spring Cloud - Nacos 配置统一管理、热部署、多环境配置共享

    目录 一、Nacos 配置统一管理 1.1、启动 Nacos 服务 1.2、Nacos 新建配置 1.3、引入依赖 1.4、Nacos 地址读取   1.5、演示效果 二、Nacos 配置热部署 三、多环境配置共享 在当前文件下打开终端,输入如下指令启动 nacos 服务 访问 nacos 主页,点击配置管理查看配置列表,然后新建配置

    2024年02月10日
    浏览(51)
  • Nacos配置管理-配置热更新

    Nacos配置自动刷新 Nacos中的配置文件变更后,微服务无需重启就可以感知。不过需要通过下面两种配置实现: 热更新-方法一:使用@RefreshScope注解 在 @Value 注入的变量所在类上添加 @RefreshScope 注解; 修改Nacos配置,无需重启微服务,向服务发送请求后效果图(无需重启,立即

    2024年02月14日
    浏览(39)
  • [Nacos] Nacos Client获取所有服务和定时更新Client端的注册表 (三)

    Nacos的服务发现功能: 获取所有服务, 定时更新Client端的注册表 1.Nacos Client获取所有服务 1.1 Client如何获取所有服务 NacosDiscoveryClientAutoConfiguration.java NacosDiscoveryClient#getServices() 这里的discoveryProperties为上面的NacosDiscoveryClientAutoConfiguration自动注入了。 DiscoveryClientHealthIndicator为Spr

    2024年02月13日
    浏览(38)
  • 【Nacos】配置管理、微服务配置拉取、实现配置热更新、多环境配置

    🐌个人主页: 🐌 叶落闲庭 💨我的专栏:💨 c语言 数据结构 javaEE 操作系统 Redis 石可破也,而不可夺坚;丹可磨也,而不可夺赤。 在微服务搭建中,每个微服务中的业务都需要去完成数据库查询,并且服务之间还会完成相互调用,而要完成相互调用,需要将每个服务都注

    2024年01月16日
    浏览(63)
  • java动态获取nacos配置文件

    前言: 在不启动服务的情况下,修改nacos配置文件,可以动态的获取到配置文件的信息,实现动态刷新的效果。 1、依赖jar包 2、相关代码 3、注意事项 1、注解@RefreshScope为动态刷新,如果需要检验是否成功。可以写一个Junit测试,while(true)循环打印获取到的信息。我们修改naco

    2024年02月09日
    浏览(35)
  • 【Java项目】使用Nacos实现动态线程池技术以及Nacos配置文件更新监听事件

    真诚的希望能给我项目一个stars!!! 项目源码 项目视频演示 线程池(Thread Pool)是一种基于池化思想管理线程的工具,经常出现在多线程服务器中,如Tomcat。 线程过多会带来额外的开销,其中包括创建销毁线程的开销、调度线程的开销等等,同时也降低了计算机的整体性

    2024年02月09日
    浏览(39)
  • 微服务——Nacos配置管理

    目录 Nacos配置管理——实现配置管理 配置管理实践  Nacos配置管理——微服务配置拉取  Nacos配置管理——配置热更新 方式一: ​编辑 方式二(推荐方式):  Nacos配置管理——多环境配置共享  优先级问题   Nacos配置管理——nacos集群搭建  总结​编辑 在一个微服务架构的系统

    2024年02月15日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包