Nacos如何实现统一配置管理

统一配置管理

先看一下我们的service与nacos 的流程图

 

一、在nacos中增加配置

Nacos配置管理

 Data Id :配置文件名称,命名规则: 服务名称-运行环境环境-后缀名(.yml,yaml)

Group:分组名称默认
配置内容:对应的是工程中服务下的application.yml文件的内容,

这里需要配置的一般是开关类型的配置, 模板类型的配置,其他固定类的不建议这里配置

 

二、在项目工程引入和使用nacos中的配置 

没有nacos管理配置文件的情况下的项目启动流程

使用nacos管理配置时,项目启动时会把nacos配置文件和application.yml文件中的配置内容合并

项目启动的时候需要提前知道nacos的环境信息,application.yml在项目启动时读取的,这里就需要引入bootstrap.yml文件,这个项目在加载前会先去读取bootstrap,然后才去读取application

bootstrap.ym是一个引导文件优先级高于application.yml

如何使用bootstrap,如下步骤:

引入nacos的配置管理依赖

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

在对应的 服务下resource目录下,新建 bootstrap.yml

 userservice-dev.yaml

分别对应的时下面的: 

name:

active:

file-extendsion:

spring:
  application:
    name: userservice
  profiles: # 环境
    active: dev
  cloud:
    nacos:
      server-addr: localhost:8848 #nacos地址
      config:
        file-extension: yaml #文件后缀名

annpication.yml中相互对应的部分注释掉

 

三、检验是否成功

在controller中去读取一下

// 通过Value注解读取配置内容
@Value("${pattern.dateformat}")
private String dateformat

@GetMapping("now")
public String now(){
   return LocalDateTime.now().format(DateTimeFormatter.ofPattern(dateformat));
}

nacos的配置内容

 

读取成功:

 四、步骤总结:

  1. 在Nacos中添加配置文件
  2. 在微服务中引入nacos的config的依赖
  3. 在微服务中添加bootstrap.yml,配置nacos地址、当前环境、服务名称、文件后缀名、这些就决定了程序启动时去nacso读取哪个文件

版权声明:本文为u012885136原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。