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

springcloud nacos config快速入门

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

springcloud nacos config快速入门

nacos config 1.为什么需要配置中心?

传统配置的方式已经暴露出了很多问题,其他的诸如:历史版本管理,权限控制,安全性等等问题,是传统的配置文件无法解决的!

随着业务的发展、微服务架构的升级,服务的数量、程序的配置日益增多(各种微服务、各种服务器地址、各种参数),传统的配置文件方式和数据库的方式已无法满足开发人员对配置管理的要求:

安全性:配置跟随源代码保存在代码库中,容易造成配置泄漏;
时效性:修改配置,需要重启服务才能生效;
局限性:无法支持动态调整:例如日志开关、功能开关;
因此,我们需要配置中心来统一管理配置!把业务开发者从复杂以及繁琐的配置中解脱出来,只需专注于业务代码本身,从而能够显著提升开发以及运维效率。同时将配置和发布包解藕也进一步提升发布的成功率,并为运维的细力度管控、应急处理等提供强有力的支持。

2.使用nacos config配置中心 1.添加依赖:

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



    org.springframework.cloud
    spring-cloud-starter-bootstrap

2.在运行此 Example 之前, 必须使用 bootstrap.properties 配置文件来配置Nacos Server 地址(优先加载bootstrap配置)

bootstrap.properties

spring.application.name=example
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
#spring.cloud.nacos.config.file-extension=yaml 如果想使用yaml 文件配置
#spring.cloud.nacos.config.enabled = false  完全关闭配置
Note注意当你使用域名的方式来访问 Nacos 时,spring.cloud.nacos.config.server-addr 配置的方式为 域名:port。 例如 Nacos 的域名为abc.com.nacos,监听的端口为 80,则 spring.cloud.nacos.config.server-addr=abc.com.nacos:80。 注意 80 端口不能省略。

在 Nacos Spring Cloud 中,dataId 的完整格式如下:

${prefix}-${spring.profiles.active}.${file-extension}
  • 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 来配置。目前只支持 properties 和 yaml 类型。

  • Note${spring.profiles.active} 当通过配置文件来指定时必须放在 bootstrap.properties 文件中。
3.创建服务配置,dataid为example.properties(因为没有设置spring.profiles.active所以名称为spring.application.name),并写入useLocalCache=flase

4.新建ConfigController.java 用来测试是否配置成功,@RefreshScop为动态刷新配置

@RestController
@RequestMapping("/config")
@RefreshScope
public class ConfigController {

    @Value("${useLocalCache:true}")
    private boolean useLocalCache;

    @RequestMapping("/get")
    public boolean get() {
        return useLocalCache;
    }
}
3.测试 1.访问

http://localhost:8080/config/get

返回结果为flase

2.修改example.properties的useLocalCache=flase为true

再次访问

http://localhost:8080/config/get

返回结果为true

完成对配置文件的动态刷新。

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

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

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