nacos配置中心

nacos配置中心

nacos环境隔离

在nacos服务端配置命名空间
nacos配置中心_第1张图片
然后再服务器列表就可以看见刚配置的命名空间
nacos配置中心_第2张图片
添加nacos config依赖

        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>

然后在客户端添加配置,重启客户端:

spring:
  application:
    name: order-service #服务名称
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848
        cluster-name: chongqing
        namespace: 1e8ecb44-4482-4ff9-9e7b-485ec739ea1c # dev环境,这里的值是命名空间的id

然后就可以在nacos服务端看见刚配置的客户端,不同命名空间的服务是不通的,一般用于开发阶段的不同环境,例如:dev,sit,uat等
nacos配置中心_第3张图片

配置中心

在nacos服务端:配置管理===> 配置列表===>点击“创建配置”
nacos配置中心_第4张图片
Data ID:配置文件名
Group:命名空间名
描述:文件的描述
命名规则:服务名+环境+配置文件后缀

客户端添加依赖
        <dependency>
            <groupId>com.alibaba.cloudgroupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-configartifactId>
        dependency>

添加新的配置文件:bootstrap.yml,并删除application.yml相同的配置。

spring:
  application:
    name: user-service #服务名称
  profiles:
    active: dev
  cloud:
    nacos:
      config:
        file-extension: yaml
        group: dev
        server-addr: localhost:8848
        namespace: 1e8ecb44-4482-4ff9-9e7b-485ec739ea1c # dev环境,这里的值是命名空间的id
      discovery:
        server-addr: localhost:8848
        cluster-name: chongqing
        namespace: 1e8ecb44-4482-4ff9-9e7b-485ec739ea1c # dev环境,这里的值是命名空间的id
        group: dev


这里就是通过application.name和profiles.active和file-extension这三个配置定位nacos配置文件的:user-service-dev.yaml
这里有一个坑,如果配置中心配置了group,那么一定要把config配置全,就像上面一样,不然配置文件不生效。

全局配置

nacos配置中心_第5张图片
命名规则:服务名+配置文件后缀

配置文件执行顺序

1、首先[.properties]后缀的文件会比[.yml]后缀的文件优先级高,properties文件会覆盖yml文件的相同配置。
2、在springboot项目中:
bootstrap.yml 用于 ApplicationContext 引导阶段。由父 Spring ApplicationContext 加载。定义系统级别的参数配置,这些参数一般不会变动。
application.yml 用来定义应用级别的参数配置。
application.yml配置文件会覆盖bootstrap.yml配置文件
命令行参数 > 操作系统环境变量 > 应用外的配置文件 > 应用内的配置文件
3、springcloud项目:
nacos配置中心 > 命令行参数 > 操作系统环境变量 > 应用外的配置文件 > 应用内的配置文件
4、nacos配置中心的配置文件
环境配置>全局配置 例如:user-service-dev.yaml > user-service.yaml
总结:
配置文件优先级,但并不是加载先后顺序
user-service-dev.yaml > user-service.yaml > application.yml > bootstrap.yml

你可能感兴趣的:(Springcloud,java,spring,boot,微服务)