使用Nacos作为分布式配置中心之动态刷新配置项(重制版)

1.Spring Boot 整合 Nacos 配置中心

本次使用版本
boot: 2.3.11.RELEASE ;nacos-starter: 0.2.7
普通 SpringBoot 项目配置项引入方式主要有
@Value(“${key}”)
@ConfigurationProperties(prefix = “prefix”)

使用Nacos作为配置中心后,相应的替换为
@NacosValue(value = “${key}”,autoRefreshed = true)
@NacosConfigurationProperties(dataId = “config-test”, prefix = “prefix”, autoRefreshed = true)
nacos整合SpringBoot项目,这里不赘述,直接见官方文档
注意以下几点
1.使用 @NacosValue 载入属性时,要实现动态刷新,需在 @NacosPropertySource和@NacosValue 同时加上autoRefreshed = true
2.使用了@NacosConfigurationPropertie载入属性时,只需要在@NacosConfigurationPropertie上加上autoRefreshed = true就可以
3.由于属性文件使用的是@NacosConfigurationPropertie,相应的@EnableConfigurationProperties就无法将其加载到Spring上下文,所以需要在加上@Component
3.dataId 有点需要注意,如果没有显式指定后缀名,它默认是使用的properties,意味着下面的格式只能选择properties,否则会导致意想不到的异常;同样的,想要配置成yaml格式的配置文件,dataId需要手动指定后缀名 xxxx.yaml ,同时代码里面也一样,否则也会有问题。不知 后续会不会在框架层面进行自动匹配
在这里插入图片描述

2.Spring Cloud 整合 Nacos 配置中心

基本使用

Spring Cloud 使用起来就更简单了,整合步骤 见链接: 官方文档.
这里只说需要注意的点:
1.创建配置文件时,Data ID的后缀需要和配置格式保持一致
代码默认为 properties;代码在引用时需要和Data ID保持一致
与Spring Boot 不同点在于,这里的Data ID 必须指定对应的后缀
2.Data ID 命名规则
${prefix}-${spring.profiles.active}.${file-extension}
${prefix}默认为 ${spring.application.name}

自动刷新

  • 主配置(spring.cloud.nacos.config)默认开启刷新。
  • 共享配置和扩展配置(spring.cloud.nacos.config.shared-configsspring.cloud.nacos.config.extension-configs)默认未开启刷新。

在开启自动前提下,根据以下规则刷新配置:

  • @ConfigurationProperties
  • @Value + @RefreshScope
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
可以使用Nacos作为配置中心存储目的配置Nacos是一个开源的动态服务发现、配置管理和服务管理平台,它提供了配置中心的功能,可以方便地管理和存储目的配置信息。 首先,你需要在你的目中集成Nacos客户端。Nacos提供了多种语言的客户端SDK,可以根据你的目语言选择合适的SDK进行集成。 一般来说,你需要在目中添加Nacos客户端的依赖,并配置Nacos服务器的地址和端口。然后,你可以使用Nacos提供的API来读取和更新配置信息。 在Nacos中,你可以按照应用、环境、版本等维度进行配置的管理。你可以通过Nacos的控制台或API来创建、修改和删除配置。同时,Nacos还提供了配置推送和监听的功能,当配置发生变化时,可以及时通知到应用程序。 使用Nacos作为配置中心,有以下优点: 1. 集中管理:所有的配置信息都存储在Nacos中,方便集中管理和统一配置。 2. 实时更新:当配置发生变化时,Nacos可以及时推送给应用程序,实现实时更新配置。 3. 版本控制:Nacos支持配置的版本控制,可以方便地回滚到之前的版本。 4. 动态刷新:在应用程序运行过程中,可以通过API动态刷新配置,无需启应用。 总的来说,使用Nacos作为配置中心可以帮助你简化配置管理,提高配置的可维护性和灵活性。希望对你有所帮助!如果你有其他问题,请继续提问。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值