nacos集群的部署和nacos服务中心相关内容,在https://blog.csdn.net/q5926167/article/details/118358109?spm=1001.2014.3001.5501
中我已经详细介绍,需要的同学可以移步浏览。
nacos作为配置中心需要实现以下几步:
1、引入依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>${spring.cloud.alibaba.version}</version>
</dependency>
依赖版本号,请根据自身项目中cloud的版本进行选择。
2、新增配置列表
新建配置时,需要注意的点:
在单个配置文件时
Data ID的命名规则为 ${prefix}-${spring.profiles.active}.${file-extension}
prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置。
spring.profiles.active 即为当前环境对应的 profile,注意:当 spring.profiles.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 ${prefix}.${file-extension}
file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yml 类型。
多个配置文件时
Data ID 的命名可以自定义,但结尾需要为 .yml 或者 . properties,具体使用哪个,根据项目配置文件的格式来决定
Group
可以自定义名称,也可以采用默认的DEFAULT_GROUP
3、yml文件配置
配置文件的命名必须为 bootstrap.yml 或者 bootstrap. properties,否则会因为加载优先级的问题,加载不到配置信息
yml配置文件如上所示:
① server-addr: nacos集群对应的ip和port地址,非集群时则只需要配置一个ip即可。
② shared-configs[n] : 针对多个配置文件,只需要单个配置文件时,则不需要该配置。项目启动时,nacos会根据
spring.application.name + spring.profiles.active + file-exetension,这三个配置自动拼接成dateid
当多个配置文件存在相同配置时 n 最大的配置文件会覆盖n 小的配置文件。
③ data-id:和nacos界面上新建配置的 DataId 必须保持一致,否则无法定位到需要的配置文件
④ group: 和nacos界面上新建配置的Group保持一致, 不写默认:DEFAULT_GROUP
⑤ refresh:为true时,项目就可以刷新nacos的配置,即热加载。
⑥ file-extension: 项目支持的配置文件类型 ,当前只有yml和 properties
⑦ namespace:必须和nacos的命名空间的id保持一致(注意:不是命名空间的名称),不写默认 public命名空间
4、项目配置
项目中使用@Value注解就可以获取配置信息了,另外还需要加一个@RefreshScope注解,实现配置信息的自动刷新。