栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

nacos配置管理

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

nacos配置管理

•统一配置管理 •配置热更新 • 多环境配置共享

统一配置管理:

1.在Nacos中添加配置信息:

2.在弹出表单中填写配置信息:

配置获取的步骤如下:先获取nacos中的配置文件,再读取本地配置文件,nacos中的配置配置文件等级高于本地配置文件。

 

3.引入Nacos的配置管理客户端依赖: 

        
        
            com.alibaba.cloud
            spring-cloud-starter-alibaba-nacos-config
        

4.在resource目录添加一个bootstrap.yml文件,这个文件是引导文件,优先级高application.yml,并作出如下配置。

spring:
  application:
    name: userservice # 服务名
  profiles:
    active: dev # 环境
  cloud:
    nacos:
      server-addr: localhost:8848 # nacos地址
      config:
        file-extension: yaml # 文件后缀名
      discovery:
        cluster-name: CQ # 集群名称,这代指重庆

将配置交给Nacos管理的步骤

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

配置自动刷新 

Nacos中的配置文件变更后,微服务无需重启就可以感知。不过需要通过下面两种配置实现。

配置自动刷新有两种方式:

一:在@Value注入的变量所在类上添加注解@RefreshScope

@RestController
@RequestMapping("/user")
@RefreshScope
public class UserController {

    @Value("${pattern.dateformat}")
    private String dateformat;

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

二:使用@ConfigurationProperties注解

@Data
@Component
@ConfigurationProperties("pattern")
public class PatterProperties {
    private String dateformat;
}

Nacos配置更改后,微服务可以实现热更新,两种方式:

① 通过 @Value 注解注入,结合 @RefreshScope 来刷新 ② 通过 @ConfigurationProperties 注入,自动刷新

注意事项:

• 不是所有的配置都适合放到配置中心,维护起来比较麻烦 • 建议将一些关键参数,需要运行时调整的参数放到 nacos 配置中心,一般都是自定义配置

多环境配置共享

微服务启动时会从nacos读取多个配置文件:

l [spring.application.name]-[ spring.profiles.active ]. yaml ,例如: userservice-dev.yaml l [spring.application.name]. yaml ,例如: userservice.yaml

无论profile如何变化,[spring.application.name].yaml这个文件一定会加载,因此多环境共享配置可以写入[spring.application.name].yaml这个文件。

微服务会从nacos读取的配置文件:

1.[ 服务名 ]-[ spring.profile.active ]. yaml ,环境配置 2.[ 服务名 ]. yaml ,默认配置,多环境共享

优先级:

        [服务名]-[环境].yaml >[服务名].yaml > 本地配置

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/872777.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号