SpringCloud怎么使用Nacos保存和读取变量的配置


这篇文章主要介绍“SpringCloud怎么使用Nacos保存和读取变量的配置”,在日常操作中,相信很多人在SpringCloud怎么使用Nacos保存和读取变量的配置问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SpringCloud怎么使用Nacos保存和读取变量的配置”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!在使用SpringCloud开发微服务时,经常会遇到一些比较小的后台参数配置,这些配置不足以单独开一张表去存储,而且其他服务会读取该参数。比如IP白名单。这时,使用Nacos去保存和读取就比较方便。使用SpringCloud的项目启动Nacos添加依赖:注意:版本 2.1.x.RELEASE 对应的是 Spring Boot 2.1.x 版本。版本 2.0.x.RELEASE 对应的是 Spring Boot 2.0.x 版本,版本 1.5.x.RELEASE 对应的是 Spring Boot 1.5.x 版本。参考:Nacos版本说明Wiki在微服务的配置中配置Nacos server的地址和应用名说明:之所以需要配置spring.application.name,是因为它是构成 Nacos 配置管理dataId字段的一部分。在 Nacos Spring Cloud 中,dataId的完整格式如下:prefix 默认为spring.application.name的值,也可以通过配置项spring.cloud.nacos.config.prefix来配置。spring.profiles.active即为当前环境对应的profile,详情可以参考Spring Boot文档。注意:当spring.profiles.active为空时,对应的连接符-也将不存在,dataId的拼接格式变成${prefix}.${file-extension}file-exetension为配置内容的数据格式,可以通过配置项spring.cloud.nacos.config.file-extension来配置。目前只支持propertiesyaml类型。按照上面配置好Nacos作为配置中心后,就可以通过在配置类上增加SpringCloud原生注解,开启自动从Nacos取值,例如@Value 直接注入变量值@ConfigurationProperties 将若干变量整合到一个Properties类中注意:要启用自动同步Nacos变量的变化,需要在注入变量的类上增加@RefreshScope注解Nacos也提供了与之对应的自己特有的注解。一般来说,我们注入变量,都是把变量放在微服务的配置文件中,例如application.yaml,但是有时候,我们想单独把某些配置保存为一个nacos的配置,即:有独立的dataId,这时,我们需要用到extension-configs例如,有如下配置:我们想在nacos上创建一个test.properties的配置存放该Properties的值,那么就需要修改微服务的配置文件:extension-configs[n]可以增加多个,每一个包含三个配置:data-id独立的data-id,必须以propertiesyaml结尾,不受spring.cloud.nacos.config.file-extension影响group该配置独立的grouprefresh是否启用自动刷新,默认false这样,就实现了独立的配置文件的nacos配置和其值自动更新。在上面的基础上,我们再增加一个功能:微服务从本地修改变量值,并上传到nacos,其他相同微服务实例,取值时都会拿到相同值,那就需要调用nacos的原生APINacosConfigManager了1.假设当前微服务有两个实例: A和B,我们在A上,通过publishConfigTestProperties的值更新到了Nacos,那么另一个实例B,会收到Nacos的通知,从na免费云主机域名cos获取到最新的值,但是,这中间会有一个毫秒级的延迟。2.Nacos也提供了例如@NacosInjectConfigService等API,但是这些API只能在SpringBoot中使用,在SpringCloud中是无法直接使用的。到此,关于“SpringCloud怎么使用Nacos保存和读取变量的配置”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注百云主机网站,小编会继续努力为大家带来更多实用的文章!

相关推荐: laravel框架是不是用PHP写的

这篇文章主要介绍“laravel框架是不是用PHP写的”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“laravel框架是不是用PHP写的”文章能帮助大家解决问题。 laravel框架就是用PHP写的;PHP是一种脚本语…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 03/20 12:19
下一篇 03/20 12:20

相关推荐