vault backup: 2026-06-03 10:30:42

This commit is contained in:
2026-06-03 10:30:42 +08:00
parent 2e207dc8fb
commit b5d9e44f0b
16 changed files with 661 additions and 507 deletions
+22 -19
View File
@@ -1,10 +1,17 @@
# 15. 配置级联机制
> **一句话概括**:Viper 三层配置级联 — YAML 文件 -> 环境变量 -> 默认值,一处配置随处运行。
---
tags: [config, viper, environment-variables, yaml, deployment, configuration-management]
create time: 2026-06-03 11:10
---
## 配置加载流程
# 15. 配置级联机制
## 概述
Viper 三层配置级联 — YAML 文件 -> 环境变量 -> 默认值,一处配置随处运行。
## 正文
### 配置加载流程
```mermaid
flowchart LR
@@ -41,7 +48,7 @@ flowchart LR
---
## 配置结构体
### 配置结构体
```go
type Config struct {
@@ -73,7 +80,7 @@ type Config struct {
---
## 环境变量绑定
### 环境变量绑定
每个配置字段都有对应的环境变量绑定,命名规则为 `GEN2D_` 前缀 + 大写下划线格式:
@@ -104,7 +111,7 @@ func bindEnvVars(v *viper.Viper) {
---
## 使用场景
### 使用场景
```mermaid
flowchart TD
@@ -140,12 +147,12 @@ flowchart TD
---
## 加载过程详解
### 加载过程详解
```mermaid
sequenceDiagram
participant Main as main.go
participant Viper
participant Viper as Viper
participant YAML as config.yaml
participant ENV as 环境变量
participant Cfg as Config Struct
@@ -175,7 +182,7 @@ sequenceDiagram
---
## 与部署的关系
### 与部署的关系
配置级联机制与部署架构紧密配合:
@@ -185,13 +192,9 @@ sequenceDiagram
| `docker compose` | `.env` 文件注入 | `env_file: ./backend/.env` |
| Kubernetes | ConfigMap + Secret | `GEN2D_DSN` 从 Secret 注入 |
---
## 关联文档
| 文档 | 关系 |
|------|------|
| [14 - 部署架构](14-deployment.md) | 配置管理在部署中的应用 |
| [01 - 系统总览](01-system-overview.md) | 配置在启动流程中的位置 |
| [02 - 协程池](02-worker-pool.md) | WorkerPoolConfig 控制并发参数 |
| [00 - 索引](00-index.md) | 返回文档总览 |
- [[14-部署架构]] — 配置管理在部署中的应用
- [[01-系统总览]] — 配置在启动流程中的位置
- [[02-协程池]] — WorkerPoolConfig 控制并发参数
- [[00-索引]] — 返回文档总览