Files
HAOVP/docs/nacos-config-guide.md
T

130 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Nacos 配置中心方案
## 一、配置架构
### 1.1 配置文件结构
```
application.yml (本地,极简)
├── Nacos: common.yaml (公共配置)
├── Nacos: common-redis-${profile}.yaml (按环境的Redis配置)
└── Nacos: ${spring.application.name}.yaml (服务专属配置)
```
### 1.2 Data ID 设计
| Data ID | 说明 |
|---------|------|
| common.yaml | 公共配置(MySQL连接池、MyBatis、Feign等) |
| common-redis-dev.yaml | 开发环境Redis单机配置 |
| common-redis-ha.yaml | 生产环境Redis Sentinel配置 |
| video-gateway.yaml | Gateway服务专属配置 |
| video-auth.yaml | Auth服务专属配置 |
| video-user.yaml | User服务专属配置 |
| video-content.yaml | Content服务专属配置 |
| video-comment.yaml | Comment服务专属配置 |
| video-recommend.yaml | Recommend服务专属配置 |
| video-admin.yaml | Admin服务专属配置 |
## 二、使用方式
### 2.1 初始化 Nacos 配置
**方式一:执行 SQL 脚本**
```bash
# 连接 Nacos 数据库
mysql -u root -p nacos_config < sql/nacos-config-init.sql
```
**方式二:通过 Nacos 控制台手动创建**
1. 登录 Nacos 控制台:http://localhost:8848/nacos(默认账号:nacos/nacos)
2. 进入「配置管理」->「配置列表」
3. 点击「+」创建配置,Data ID 和内容参考 `sql/nacos-config-init.sql`
### 2.2 环境切换
通过 `SPRING_PROFILES_ACTIVE` 环境变量切换环境:
**开发环境:**
```yaml
environment:
- SPRING_PROFILES_ACTIVE=dev
```
会加载 `common-redis-dev.yaml`,使用单机 Redis。
**生产/高可用环境:**
```yaml
environment:
- SPRING_PROFILES_ACTIVE=ha
- REDIS_SENTINEL_NODES=192.168.1.101:26379,192.168.1.102:26379,192.168.1.103:26379
```
会加载 `common-redis-ha.yaml`,使用 Sentinel 哨兵模式。
### 2.3 配置热更新
修改 Nacos 中的配置后,服务会自动感知并更新(`refreshEnabled=true`),无需重启!
## 三、配置优先级
```
环境变量 > Nacos 配置 > 本地 application.yml
```
## 四、本地开发
本地开发时,启动 Nacos 后:
1. 确保 Nacos 中已有配置
2. 启动服务,默认使用 `dev` profile
3. 自动连接开发环境的 Redis
## 五、生产部署
```bash
# 1. 执行 SQL 初始化配置
mysql -u root -p nacos_config < sql/nacos-config-init.sql
# 2. 构建镜像
mvn clean package -DskipTests
docker-compose -f docker-compose-node-01.yml build
# 3. 启动服务
docker-compose -f docker-compose-node-01.yml up -d
```
## 六、常见问题
### Q1: 配置没有生效?
检查以下几点:
1. Nacos 是否正常运行
2. 服务启动日志是否显示连接 Nacos 成功
3. 配置的 Data ID 是否正确
4. `spring.config.import` 是否正确配置
### Q2: 如何查看当前使用的配置?
```bash
# 查看服务日志
docker logs -f video-auth | grep -i nacos
```
### Q3: 如何动态修改配置?
1. 登录 Nacos 控制台
2. 找到对应配置
3. 编辑并发布
4. 服务自动感知更新
## 七、核心优势
| 优势 | 说明 |
|------|------|
| 配置集中管理 | 所有配置在 Nacos 统一管理 |
| 环境隔离 | 通过 profile 区分环境 |
| 热更新 | 修改配置无需重启 |
| 无需重构镜像 | 改配置只需在 Nacos 操作 |
| 代码精简 | 本地只留 Nacos 连接配置 |