实战级详解Spring框架中引入阿里开源组件Nacos作配置中心

本文详细介绍了配置中心的作用以及Nacos如何作为配置中心进行管理。Nacos提供了简洁的控制台,支持动态配置,减少应用部署的复杂性。文章讲解了Nacos中的配置项、配置集ID、配置分组和命名空间等核心概念,并通过实例展示了Spring框架如何与Nacos结合,使用注解和XML配置启用Nacos,以及如何将配置中心的参数注入到应用的属性中。
摘要由CSDN通过智能技术生成

Nacos的配置中心

先来聊聊配置中心是什么,以及为什么要使用配置中心。简单的说,配置中心是可以集中、灵活、动态的管理系统中的各种配置参数的配置管理产品,例如增、删、改、查功能开关、数据库连接配置、服务请求地址等。所谓集中,就是有统一管理的平台;灵活,不需要修改代码,做到自动匹配赋值、配置隔离;动态,不需要通过重启服务来使变更生效,主动推送或拉取变更的值。

对于配置参数,早期很传统的做法是通过程序硬编码的方式,将参数值写到代码中,如果要改变参数值,不仅要修改代码,还需要重新部署。重新部署倒是勉强可以接受,修改代码会导致代码混乱,你想想如果不同的部署环境有N多不同的配置参数值,是不是每部署一个环境就需要改一次代码,所以这个坚决不能忍受。为了解决这个问题,将配置参数放到配置文件或数据库中,在需要修改参数值时直接修改即可,不需要改动代码,但有些时候仍然需要重新部署,因为你不可能把所有参数都放到数据库中配置,而且频繁读库,参数变更也不能及时生效,再者说,文件或数据库的方式管理起来也不是很方便,除非开发一个管理平台。所以,配置中心应运而生,可以集中、灵活、动态的管理这些参数配置。

Nacos提供了一个简洁易用管理控制台,通过它可以管理所有的服务和应用的配置。Nacos的动态配置消除了配置变更时重新部署应用和服务的需要,让配置管理变得更加高效和敏捷。它还提供包括配置版本跟踪、金丝雀发布、一键回滚配置以及客户端配置更新状态跟踪在内的一系列开箱即用的配置管理特性,更安全地在生产环境中管理配置变更和降低配置变更带来的风险。

Nacos配置中心中的相关概念

配置项:通常以key-value的形式存在,例如:

 
 

database.trade.connect.url=jdbc:mysql://127.0.0.1:3306/trade。

配置集:一组相关或者不相关的配置项的集合称为配置集。在系统中,一个配置文件通常就是一个配置集,包含了系统各个方面的配置。例如,一个配置集可能包含了数据源、线程池、日志级别等配置项。

配置集ID:即某个配置集的ID,使用Data ID表示。一个系统或者应用可以包含多个配置集,每个配置集推荐使用一个有意义的名称标识,并且要保证全局唯一,例如 trade-datasource.properties。推荐Data ID采用类Java包的命名规则保证全局唯一性,例如com.abc.trade.datasource.properties,需要注意的是Nacos默认支持JSON、XML、YAML和Properties格式的配置项解析,所以如果Data ID的名称中包含.,它的名称后缀要以.json/.xml/.yaml/.properties结尾,如果Data ID的名称中不包含.,Nacos默认使用.properties格式解析配置项。

配置分组:通过一个有意义的字符串对配置集进行分组,从而区分Data ID相同的配置集,例如Payment、Trade等。在Nacos上创建一个配置时,如果未填写配置分组的名称,则使用DEFAULT_GROUP作为默认的配置分组名称。

命名空间(Namespace):不同的命名空间下,可以存在相同的配置分组或 Data ID的配置。 主要用于不同环境的配置的区分隔离,如果未明确指定,则默认的命名空间是public。例如测试环境和生产环境的配置是不同的,就可以使用不同的命名空间来区分隔离不同的配置,如测试环境的命名空间设置为dev,生产环境的命名空间设置为prod。

Nacos配置中心中的一个配置项由命名空间+配置分组+配置集ID+配置项key唯一确定。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值