首页 > 其他分享 >Nacos配置管理

Nacos配置管理

时间:2022-10-18 22:11:55浏览次数:48  
标签:服务 配置文件 后缀 配置 配置管理 Nacos nacos 名称

当微服务部署的实例越来越多,达到数十、数百时,逐个修改微服务配置就会让人抓狂,而且很容易出错。我们需要一种统一配置管理方案,可以集中管理所有实例的配置。

Nacos一方面可以将配置集中管理,另一方可以在配置变更时,及时通知微服务,实现配置的热更新

在nacos中添加配置文件

配置列表菜单中点击 “+” 按钮

注意:项目的核心配置,需要热更新的配置才有放到nacos管理的必要。基本不会变更的一些配置还是保存在微服务本地比较好。

微服务拉取配置

微服务要拉取nacos中管理的配置,并且与本地的application.yml配置合并,才能完成项目启动。

但如果尚未读取application.yml,又如何得知nacos地址呢?

因此spring引入了一种新的配置文件:bootstrap.yaml文件,会在application.yml之前被读取,流程如下:

想要拉取nacos中的配置文件还需要在微服务的pom文件中引入依赖 nacos-config依赖

<!--nacos配置管理依赖-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

添加 bootstrap 配置文件:这里的服务名称、环境和文件后缀要与nacos配置中心的 Data ID对应;这决定了服务启动时,会去nacos读取哪个配置文件

spring:
  application:
    name: userservice # 服务名称
  profiles:
    active: dev #开发环境,这里是dev 
  cloud:
    nacos:
      server-addr: localhost:8848 # Nacos地址
      config:
        file-extension: yaml # 文件后缀名

配置热更新

nacos配置变更后,微服务可以实现热更新,就是基于读取配置文件的两种方式来实现的

  • 通过 @Value注解注入配置文件属性,结合@RefreshScope 来刷新
  • 通过@ConfigurationProperties 注解注入配置文件属性,自动刷新

注意:不是所有配置都会放到配置中心,一般是将一些自定义的需要运行时调整的参数放到配置中心

多环境共享配置

当某些配置在生产环境和测试环境都一样时,我们设置一个共享的配置来避免重复配置

操作步骤:

我们只需要在nacos新建配置时,直接使用 服务名称.后缀这种方式来命名Data ID,这样无论是 服务名称-test.后缀还是 服务名称-dev.后缀都能读取到共享配置文件

当存在多个相同的配置时,按照以下优先级生效

多种配置的优先级:

  • 最高优先级: 服务名称-环境名称.后缀

  • 中等优先级:服务名称.后缀

  • 最低优先级:本地配置

标签:服务,配置文件,后缀,配置,配置管理,Nacos,nacos,名称
From: https://www.cnblogs.com/xxgxs/p/16804397.html

相关文章

  • mac系统安装nacos,解决启动不了nacos(摘抄)
    解决访问不到nacos服务界面1、查看日志在终端使用nacos路径进入logs目录(此处需要把我的路径换成你自己的路径)使用 vistart.out命令查看日志信息2、查看日志(方法二)......
  • Nacos集群搭建
    集群结构图官方给出的Nacos集群图:其中包含3个nacos节点,然后一个负载均衡器代理3个Nacos。这里负载均衡器可以使用nginx。我们计划的集群结构:三个nacos节点的地......
  • HM-SCAli4【服务治理介绍、nacos入门】
    1服务治理介绍先来思考一个问题通过上一章的操作,我们已经可以实现微服务之间的调用。但是我们把服务提供者的网络地址(ip,端口)等硬编码到了代码中,这种做法存在许多问题:......
  • docker部署nacos配置mysql
    version:"3"services:mysql:restart:alwaysimage:mysql:latestcontainer_name:cloud_mysql......
  • nacos2.0服务提示注册成功 服务列表没有
       参考:nacos2.0服务提示注册成功服务列表没有   修改如下  然后即可正常发现 ......
  • nacos
     报错原因是默认启动的是集群模式,这里我先改为单机模式。把cluster改为standalone 重启后成功 访问:http://localhost:8848/nacos/  默认用户名和密码都是nacos......
  • 多环境配置管理
    环境配置管理主要是针对应用对基础设施和基础服务依赖关系的配置管理。开发环境主要是在应用或软件开发过程中或完成后,开发人员对自己实现的代码进行单元测试、联调和基本......
  • Nacos启动报错:Please set the JAVA_HOME variable in your environment, We need java
    可能原因:1.JDK版本过低(应不低于1.8)2.未设置jdk环境变量(可能性低)3.jdk环境变量设置不适配nacos(博主就是这个原因) 解决方案:1.直接在startup.cmd文件中设置JA......
  • Spring Cloud Nacos(一)
    PropertySourceLocator加载原理SpringApplication.run在springboot项目启动时,有一个prepareContext的方法,它会回调所有实现了ApplicationContextInitializer的实例,来做......
  • Nacos安装指南
    1.Windows安装开发阶段采用单机安装即可。1.1.下载安装包在Nacos的GitHub页面,提供有下载链接,可以下载编译好的Nacos服务端或者源代码:GitHub主页:https://github.com/ali......