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项目的动态配置效果。
2490

被折叠的 条评论
为什么被折叠?



