一、介绍
统一配置,字面意思,很容易理解了,就是将原来散落在各个项目中的配置,有nacos集中管理,提配置的增删改,个人认为值得推崇的功能有以下几点:
- 配置可供多个服务使用,修改也只需修改一次即可,应用场景:多个服务连接的数据库相同,数据库配置只需改一次即可
- 配置的热加载,修改后,无需重启服务就可以读取到修改后的数据。应用场景:如电商,遇到活动,修改配置参数至最大,提升服务性能。活动结束后,可修改配置回收部分硬件资源,用于其他使用,节省成本。
二、安装nacos
可参考nacos官方文档:Nacos 快速开始
三、实战案例
首先登录至Nacos,创建命名空间,我将命名空间分为“dev”、“test”、“pro”三个,分别为开发环境、测试环境、生产环境。因为是个人学习,目前只有开发环境。
首先说明下我的软件选型:springboot+springcloud,版本如下
<!-- SpringBoot的依赖配置-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.6.11</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- SpringCloud的依赖配置-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>2021.0.1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
1.实现数据库连接配置的统一管理
步骤1:nacos中创建配置,data_id为front-database.yml,分组为front-group
步骤2,配置格式为yaml,配置内容则和我们springboot工程中的一致,复制粘贴过来即可。同时也支持text、json、html、properties等
步骤3:如何在我们的项目中使用以上配置
1.添加pom文件的依赖包
<!-- 此处使用阿里nacos的配置中心依赖 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
2.修改springboot工程的application.yml文件,配置前添加“-”标识该配置为集合,可添加多个配置文件
spring:
cloud:
nacos:
config:
## nacos的地址,格式为:ip:port
server-addr: 127.0.0.1:8848
##分组名称,此处相当于全局配置,其他配置如:统一配置或服务发现等则无需再加该配置,命名空间同理
group: front-group
##命名空间ID
namespace: d5afac56-78a0-48e5-ac76-c6e13c96f35f
config:
import:
##按照以下结构将配置文件引入即可
- optional:nacos:front-database.yml?group=front-group
步骤4:启动项目,成功连接数据库。