Nacos作为配置中心
程序员文章站
2022-07-15 08:59:19
...
前言
通过本教程的前一篇:
我们已经知道如何利用Nacos实现服务的注册与发现。接下来,我们再来掌握Nacos的另外一个重要能力:配置管理。
简介
Nacos除了实现了服务的注册发现之外,还将配置中心功能整合在了一起。通过Nacos的配置管理功能,我们可以将整个架构体系内的所有配置都集中在Nacos中存储。这样做的好处,在以往的教程中介绍Spring Cloud Config时也有提到,主要有以下几点:
- 分离的多环境配置,可以更灵活的管理权限,安全性更高
- 应用程序的打包更为纯粹,以实现一次打包,多处运行的特点
Nacos的配置管理模型与淘宝开源的配置中心Diamond类似,基础层面都通过DataId
和Group
来定位配置内容,除此之外还增加了很多其他的管理功能。类似于consul config,Nacos 是支持热加载的
快速入门
创建配置
-
新建命名空间
-
在配置列表功能页面中,点击右上角的“+”按钮,进入“新建配置”页面
其中:
-
Data ID
:填入nacos-provider.yml -
Group
:不修改,使用默认值DEFAULT_GROUP
-
配置格式
:选择YAML
-
配置内容
:应用要加载的配置内容,这里仅作为示例,做简单配置
创建应用
- pom文件引入nacos-config的Spring cloud依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-alibaba-nacos-config</artifactId>
<version>0.9.0.RELEASE</version>
</dependency>
- 在bootstrap.yml(一定是bootstrap.yml文件,不是application.yml文件)文件配置以下内容:
spring:
application:
name: nacos-provider
cloud:
nacos:
discovery:
# 服务注册地址
server-addr: 127.0.0.1:8848
namespace: 31398485-c414-45d1-9f0c-426011114fa5
config:
server-addr: 127.0.0.1:8848
file-extension: yml
prefix: nacos-provider
namespace: 31398485-c414-45d1-9f0c-426011114fa5
# profiles:
# active: dev
在上面的配置中,配置了nacos config server的地址,配置的扩展名是ymal(目前仅支持ymal和properties)。注意是没有配置server.port的,sever.port的属性在nacos中配置。上面的配置是和Nacos中的dataId
的格式是对应的,nacos的完整格式如下:
${prefix}-${spring.profile.active}.${file-extension}
-
prefix
默认为spring.application.name
的值,也可以通过配置项spring.cloud.nacos.config.prefix
来配置。 -
spring.profile.active
即为当前环境对应的 profile,详情可以参考 Spring Boot文档。 注意:当spring.profile.active
为空时,对应的连接符-
也将不存在,dataId 的拼接格式变成${prefix}.${file-extension}
-
file-exetension
为配置内容的数据格式,可以通过配置项spring.cloud.nacos.config.file-extension
来配置。目前只支持properties
和yaml
类型。 - namespace为刚才创建命名空间里的命名空间ID
-
验证配置获取和验证动态刷新
在Controller上添加 @RefreshScope 实现配置的热加载
启动工程,可以看到修改nacos配置test的配置,客户端也会动态刷新。
推荐阅读
-
SpringCloud用Zookeeper搭建配置中心的方法
-
spring cloud config 配置中心快速实现过程解析
-
跟我学SpringCloud | 第六篇:Spring Cloud Config Github配置中心
-
springcloud学习之路: (五) springcloud集成SpringCloudConfig分布式配置中心
-
Spring Cloud Config实现分布式配置中心
-
Nacos(四):SpringCloud项目中接入Nacos作为配置中心
-
SpringCloud之分布式配置中心Spring Cloud Config高可用配置实例代码
-
Zookeeper作为配置中心使用说明
-
Linux系统中安装配置Mutt来作为Gmail客户端
-
Spring Cloud Config 配置中心实践过程中,你需要了解这些细节!