八、Nacos配置管理(统一配置管理、配置热更新、配置共享)

目录

一、新增配置

二、配置的获取

三、配置自动刷新

3、实现配置的热更新

方式一:在controller上添加注解,并重启服务

方式二:使用configuration注解

四、多环境配置共享

五、多环境配置优先级


一、新增配置

八、Nacos配置管理(统一配置管理、配置热更新、配置共享)_第1张图片

八、Nacos配置管理(统一配置管理、配置热更新、配置共享)_第2张图片

八、Nacos配置管理(统一配置管理、配置热更新、配置共享)_第3张图片

配置创建成功

八、Nacos配置管理(统一配置管理、配置热更新、配置共享)_第4张图片

二、配置的获取

八、Nacos配置管理(统一配置管理、配置热更新、配置共享)_第5张图片

1、在userservice的pom文件添加如下依赖

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

八、Nacos配置管理(统一配置管理、配置热更新、配置共享)_第6张图片

2、在resources文件夹下添加bootstarp.yml文件

八、Nacos配置管理(统一配置管理、配置热更新、配置共享)_第7张图片

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

3、注意检查服务是否在同一命名空间

八、Nacos配置管理(统一配置管理、配置热更新、配置共享)_第8张图片

4、在UserController中加入测试代码

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

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

5、重启服务,并测试

八、Nacos配置管理(统一配置管理、配置热更新、配置共享)_第9张图片

三、配置自动刷新

1、修改配置

八、Nacos配置管理(统一配置管理、配置热更新、配置共享)_第10张图片

2、查看信息,发现没有变化(未实现热更新)

八、Nacos配置管理(统一配置管理、配置热更新、配置共享)_第11张图片

3、实现配置的热更新

方式一:在controller上添加注解,并重启服务

八、Nacos配置管理(统一配置管理、配置热更新、配置共享)_第12张图片

发现配置已经更新,但这并不能表示它是热更新,因为我重启了服务

八、Nacos配置管理(统一配置管理、配置热更新、配置共享)_第13张图片        

我们修改配置并发布

八、Nacos配置管理(统一配置管理、配置热更新、配置共享)_第14张图片

刷新,可以看到我们没有重启服务也能更新配置了

八、Nacos配置管理(统一配置管理、配置热更新、配置共享)_第15张图片

方式二:使用configuration注解

(1)新建配置类并添加如下注解

八、Nacos配置管理(统一配置管理、配置热更新、配置共享)_第16张图片

@Data
@Component
@ConfigurationProperties(prefix = "pattern")
public class PatternProperties {
    private String dataformat;
}

(2)修改controller类

八、Nacos配置管理(统一配置管理、配置热更新、配置共享)_第17张图片

    @Autowired
    private PatternProperties properties;

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

(3)重启服务,在nacos中修改发布配置并查看

八、Nacos配置管理(统一配置管理、配置热更新、配置共享)_第18张图片

(4)热更新成功

八、Nacos配置管理(统一配置管理、配置热更新、配置共享)_第19张图片

四、多环境配置共享

1、新建配置

八、Nacos配置管理(统一配置管理、配置热更新、配置共享)_第20张图片

2、在配置类中添加新变量

八、Nacos配置管理(统一配置管理、配置热更新、配置共享)_第21张图片

3、定义接口返回配置

八、Nacos配置管理(统一配置管理、配置热更新、配置共享)_第22张图片

4、添加新实例并将其纳入test区域

八、Nacos配置管理(统一配置管理、配置热更新、配置共享)_第23张图片

5、重启服务,观察返回值

可以看到未带区域属性的配置被共享使用了

八、Nacos配置管理(统一配置管理、配置热更新、配置共享)_第24张图片

八、Nacos配置管理(统一配置管理、配置热更新、配置共享)_第25张图片

五、多环境配置优先级

八、Nacos配置管理(统一配置管理、配置热更新、配置共享)_第26张图片

你可能感兴趣的:(微服务学习,java,开发语言)