docs: 归档 HLD-技术架构设计文档,整合到 T-ILD 体系

This commit is contained in:
张翔
2026-03-08 21:30:47 +08:00
parent 971d51cb36
commit 08a265ac52
2 changed files with 788 additions and 71 deletions
+34 -71
View File
@@ -1,10 +1,21 @@
# 健身房管理系统技术架构设计文档
> ⚠️ **归档说明**
>
> **归档日期**: 2026-03-08
> **归档原因**: 文档架构优化,技术架构内容已整合到 T-ILD 文档体系
> **替代文档**:
> - [GYM-T-ILD-BASIC-001](technical/T-ILD-基础版 - 技术实现详细设计.md)
> - [GYM-T-ILD-SUBSCRIPTION-001](technical/T-ILD-付费订阅版 - 技术实现详细设计.md)
>
> 本文档仅供历史参考,请以 T-ILD 文档为准。
> 文档编号: GYM-HLD-TECH-001
> 版本: v1.0
> 日期: 2026-03-04
> 作者: 张翔
> 状态: 初稿
> 状态: 已发布
---
@@ -20,8 +31,8 @@
- 《健身房管理系统基础版产品设计文档》 GYM-PRD-BASIC-001
- 《健身房管理系统付费订阅版产品设计文档》 GYM-PRD-SUBSCRIPTION-001
- 《健身房管理系统基础版业务概要设计文档》 GYM-HLD-BASIC-001
- 《健身房管理系统付费订阅版业务概要设计文档》 GYM-HLD-SUBSCRIPTION-001
- 《健身房管理系统基础版业务概要设计文档》 GYM-B-HLD-BASIC-001
- 《健身房管理系统付费订阅版业务概要设计文档》 GYM-B-HLD-SUBSCRIPTION-001
- Spring Boot 3 官方文档
- Spring WebFlux 官方文档
- R2DBC 规范文档
@@ -37,7 +48,7 @@
| 决策项 | 选择方案 | 理由 |
|-------|---------|------|
| **应用架构** | 单体应用 | 适合当前规模(1000 并发用户),开发效率高,部署简单,成本低 |
| **应用架构** | 单体应用 | 适合当前规模(基础版100并发用户,付费订阅版500并发用户),开发效率高,部署简单,成本低 |
| **编程模型** | 响应式编程(WebFlux + R2DBC) | 高并发能力(10x 提升),低延迟(50% 降低),资源利用率高(75% 降低) |
| **部署方式** | Docker Compose | 一键部署,环境一致性好,回滚快速 |
| **数据库** | PostgreSQL | 金融级数据库,支持 ACID 事务,JSONB 支持灵活配置 |
@@ -84,73 +95,25 @@
采用分层架构 + 模块化设计的单体应用:
```
┌─────────────────────────────────────────────────────────────────────────┐
│ 单体应用总体架构 │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 客户端层 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • 会员小程序 (uniapp+Vue3) │ │
│ │ • 教练端App (uniapp+Vue3) │ │
│ │ • 管理后台PC (Vue3+Vite) │ │
│ │ • 硬件设备 (人脸/NFC) │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ Nginx 反向代理 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • 负载均衡 • SSL 终止 • 静态资源 • 限流 │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ Presentation Layer (WebFlux) │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • Controller • Router • Filter • Validator │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ Application Layer (业务编排) │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • Service • Facade • Orchestrator • 事务管理 │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ Domain Layer (领域模型) │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • Entity • Value Object • Domain Service • Repository │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ Infrastructure Layer (基础设施) │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • Repository (R2DBC) • Cache (Redis) │ │
│ │ • Message (RabbitMQ) • Search (Elasticsearch) │ │
│ │ • File (OSS) • Distributed Lock │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 外部服务层 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • PostgreSQL • Redis • RabbitMQ • Elasticsearch │ │
│ │ • 微信开放平台 • 短信服务 • 支付服务 • OSS存储 │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 监控与运维层 │ │
│ ├─────────────────────────────────────────────────────────────────┤ │
│ │ • Prometheus • Grafana • 日志收集 • 告警 │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────┘
```mermaid
flowchart TB
subgraph 单体应用总体架构
A[客户端层<br/>• 会员小程序 uniapp+Vue3<br/>• 教练端App uniapp+Vue3<br/>• 管理后台PC Vue3+Vite<br/>• 硬件设备 人脸/NFC]
B[Nginx 反向代理<br/>• 负载均衡<br/>• SSL 终止<br/>• 静态资源<br/>• 限流]
C[Presentation Layer WebFlux<br/>• Controller<br/>• Router<br/>• Filter<br/>• Validator]
D[Application Layer 业务编排<br/>• Service<br/>• Facade<br/>• Orchestrator<br/>• 事务管理]
E[Domain Layer 领域模型<br/>• Entity<br/>• Value Object<br/>• Domain Service<br/>• Repository]
F[Infrastructure Layer 基础设施<br/>• Repository R2DBC<br/>• Cache Redis<br/>• Message RabbitMQ<br/>• Search Elasticsearch<br/>• File OSS<br/>• Distributed Lock]
G[外部服务层<br/>• PostgreSQL<br/>• Redis<br/>• RabbitMQ<br/>• Elasticsearch<br/>• 微信开放平台<br/>• 短信服务<br/>• 支付服务<br/>• OSS存储]
H[监控与运维层<br/>• Prometheus<br/>• Grafana<br/>• 日志收集<br/>• 告警]
A --> B
B --> C
C --> D
D --> E
E --> F
F --> G
G --> H
end
```
### 2.2 分层架构详解