分布式配置中心-Nacos简单实践
分布式配置中心是一种用于管理和集中存储应用程序配置的系统,特别适用于大规模、复杂的分布式系统。它的主要目标是将应用程序的配置信息从代码中分离出来,使得配置可以在运行时进行动态修改和管理,而无需重新部署应用程序。
以下是分布式配置中心的一些关键特点和优势:
- 集中管理: 分布式配置中心允许将所有应用程序的配置集中存储在一个地方,从而方便统一管理和修改配置,避免了在每个应用程序实例中手动更改配置。
- 动态更新: 配置中心支持在应用程序运行时动态更新配置,而无需重新启动或重新部署应用。这对于需要频繁变更配置的场景非常有用。
- 版本控制: 配置中心通常支持配置版本控制,使得可以跟踪配置的变更历史,方便回退或恢复配置。
- 环境隔离: 配置中心允许将不同环境(如开发、测试、生产)的配置隔离开来,从而确保在不同环境中使用不同的配置。
- 动态扩展: 配置中心可以支持多个应用程序实例和多个团队同时访问,并能够处理高并发的配置请求。
- 安全性: 配置中心通常提供权限控制,确保只有授权用户可以访问和修改配置。
- 集成支持: 配置中心可以与其他工具和框架集成,如监控系统、CI/CD流水线等,从而更好地支持自动化和运维流程。
Nacos
Nacos(Naming and Configuration Service)是阿里巴巴开源的一个用于服务发现、动态配置管理和可视化平台的项目。它结合了服务发现、配置管理和健康监测等功能,是一个综合的微服务基础设施组件。其中,Nacos的配置管理部分可以被用作分布式配置中心。
添加nacos配置管理依赖
1
2
3
4
5<!-- nacos的配置管理依赖 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>在resource下创建bootstrap.yaml配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13spring:
application:
name: gateway
profiles:
# 环境
active: dev
cloud:
nacos:
# nacos地址
server-addr: localhost:8848
config:
# 文件后缀
file-extension: yaml- 配置加载顺序: 在Spring Boot应用程序中,配置文件的加载顺序是有一定规则的。
bootstrap.yaml
配置文件在加载顺序上位于其他配置文件(如application.yaml
或application.properties
)之前。这意味着它可以用于配置一些在应用程序启动之前就需要的属性,例如连接到配置服务器的属性。 - 外部配置加载: 通常,分布式系统中的应用程序可能需要从配置中心(如Nacos、Consul等)获取配置信息。
bootstrap.yaml
配置文件可以用来配置与配置中心的连接和身份验证等信息,以便在应用程序启动时能够正确地加载配置。
- 配置加载顺序: 在Spring Boot应用程序中,配置文件的加载顺序是有一定规则的。
在nacos中以<spring.application.name>-<spring.profiles.active>.yaml作为data id在DEFAULT_GROUP新建配置,例如:gateway-dev.yaml
项目启动后,无需重新启动或停机就会从nacos中动态加载配置下来,通过@Value即可获取对应的值。如果您将配置属性注入到了Spring管理的Bean中,而且希望在配置发生变化时动态刷新Bean的状态,您可以使用 @RefreshScope
注解。
1 |
|
分布式配置中心-Nacos简单实践
https://cason.work/2023/08/23/分布式配置中心-Nacos简单实践/