Nacos动态配置中心

Nacos是什么

英文全称Dynamic Naming and Configuration Service,Na为naming/nameServer即注册中心,co为configuration即注册中心,service是指该注册/配置中心都是以服务为核心。服务在nacos是一等公民

Nacos安装和配置

1.JDK环境
2.直接去官网git上下载 tar.gz或者zip格式到本地。
https://github.com/alibaba/nacos

windows安装方式
解压后,直接双击starup.bat
启动后如图所示
启动成功后
访问http://localhost:8848/nacos/index.html即可看到如下管理界面

用户名和密码均为:nacos

SpringBoot项目的配置和依赖引入

pom文件配置

在pom文件中需要引入三个依赖包

        <!-- SpringCloud Alibaba Nacos -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

        <!-- SpringCloud Alibaba Nacos Config -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>

        <!--加载bootstrap.yml-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bootstrap</artifactId>
        </dependency>

前面两个依赖包为nacos作为注册中心和配置中心的依赖包,第三个依赖包则是加载bootstrap.yml文件的依赖包,SpringCloud高版本默认是不加载bootstrap.yml,后面会继续提到。

bootstrap.yml配置

用户新建一个bootstrap.yml文件,文件配置内容如下

spring:
  application:
    name: test_config_example
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848
        namespace: 
        username: 
        password: 
        service:
      config:
        server-addr:  ${spring.cloud.nacos.discovery.server-addr}
        #指定配置文件的拓展名
        file-extension: yaml
        namespace: 
        group: DEFAULT_GROUP
        username: 
        password: 
        #设置是否为热刷新
        refresh-enabled: true
        #指定配置文件的前缀
        prefix:

其中设置是否为热刷新设置为true,保证当nacos中的配置文件能够实时在springboot项目进行刷新。

指定配置文件的前缀,则必须与nacos中的配置文件名相同,否则项目获取不到。

在这里插入图片描述
项目与nacos连接成功后即可在服务列表获取相关信息,其中服务名是根据bootstrap.yml文件中的service名称来决定的。

新建配置

点击配置管理列表中配置列表,右侧有一个加号用于添加配置,此处配置文件的格式需要和bootstrap.yml文件中 file-extension所指定的格式相同。具体内容自己拟定,如图
在这里插入图片描述
配置完成就可以在项目中获取当前配置的isDebugEnabled的值。其中值得注意的是,在springboot项目中使用时需要在类上添加@RefreshScope注解,保证当配置发生变更的时候可以在不重启应用的前提下完成bean中相关属性的刷新。如此,就可以实现项目不重新启动对项目中某些属性进行动态的配置。

最终实现基于nacos的springboot项目的动态配置效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值