docs: 归档 HLD-技术架构设计文档,整合到 T-ILD 体系
This commit is contained in:
+34
-71
@@ -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 分层架构详解
|
||||
|
||||
Reference in New Issue
Block a user