Nacos作为配置中心

前言

通过本教程的前一篇:

Nacos服务注册和发现

我们已经知道如何利用Nacos实现服务的注册与发现。接下来,我们再来掌握Nacos的另外一个重要能力:配置管理。

简介

Nacos除了实现了服务的注册发现之外,还将配置中心功能整合在了一起。通过Nacos的配置管理功能,我们可以将整个架构体系内的所有配置都集中在Nacos中存储。这样做的好处,在以往的教程中介绍Spring Cloud Config时也有提到,主要有以下几点:

  • 分离的多环境配置,可以更灵活的管理权限,安全性更高
  • 应用程序的打包更为纯粹,以实现一次打包,多处运行的特点

Nacos的配置管理模型与淘宝开源的配置中心Diamond类似,基础层面都通过DataIdGroup来定位配置内容,除此之外还增加了很多其他的管理功能。类似于consul config,Nacos 是支持热加载的

快速入门

创建配置

  1. 新建命名空间

  2. 在配置列表功能页面中,点击右上角的“+”按钮,进入“新建配置”页面

其中:

  • Data ID:填入nacos-provider.yml
  • Group:不修改,使用默认值DEFAULT_GROUP
  • 配置格式:选择YAML
  • 配置内容:应用要加载的配置内容,这里仅作为示例,做简单配置

创建应用

  1. 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>
  1. 在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 来配置。目前只支持 propertiesyaml 类型。
  • namespace为刚才创建命名空间里的命名空间ID
  1. 验证配置获取和验证动态刷新

在Controller上添加 @RefreshScope 实现配置的热加载

启动工程,可以看到修改nacos配置test的配置,客户端也会动态刷新。

作为配置中心Nacos可以集成到Spring Cloud Alibaba技术栈中。我们可以使用Nacos来进行服务配置。在使用Nacos作为配置中心时,我们需要在配置文件中指定Nacos Server的地址,并配置命名空间ID和应用程序名称。\[1\]\[2\]\[3\] 具体来说,我们可以使用bootstrap.properties或者bootstrap.yaml配置文件来配置Nacos Server的地址。在配置文件中,我们需要指定Nacos Server的IP地址和端口号。同时,我们还可以配置Nacos的用户名和密码以进行身份验证。\[2\] 在使用Nacos作为配置中心时,我们需要在应用程序中配置spring.application.name属性。这是因为它是构成Nacos配置管理dataId字段的一部分。在Nacos Spring Cloud中,dataId的完整格式如下:\[3\] 通过使用Nacos作为配置中心,我们可以方便地管理和更新应用程序的配置信息。这使得我们可以在运行时动态地修改配置,而无需重新部署应用程序。同时,Nacos还提供了配置的版本管理和灰度发布等功能,使得配置管理更加灵活和可靠。 #### 引用[.reference_title] - *1* *3* [使用Nacos作为配置中心](https://blog.csdn.net/weixin_66202611/article/details/128089370)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Nacos配置中心使用](https://blog.csdn.net/qq_42402854/article/details/126375127)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值