lawless-design/docs/11_技术选型/技术选型总览.md

103 行
4.4 KiB
Markdown

2026-07-09 14:39:17 +08:00
# 技术选型总览
> **位置**: `docs/11_技术选型/技术选型总览.md`
> **版本**: v1.0
> **日期**: 2026-07-08
> **关联**: AGENTS.md 技术合规铁律、docs/开发规范/技术栈合规清单.md
---
## 1. 选型原则
> **所有技术必须开源可商用或已获合法授权。**
> 详见 `docs/00_项目概述/开发规范/技术栈合规清单.md`
| 原则 | 说明 |
|------|------|
| 开源优先 | 优先选择 MIT/Apache-2.0/BSD 协议的开源技术 |
| 商用授权 | 闭源技术必须有商用授权协议 |
| 社区活跃 | 选择社区活跃、维护良好的技术,避免技术债务 |
| 团队熟悉 | 优先选择团队有使用经验的技术,降低学习成本 |
---
## 2. 技术栈总览
### 2.1 客户端
| 技术 | 版本 | 用途 | 协议 |
|------|------|------|------|
| **Cocos Creator** | 3.8.8 | 游戏引擎 | 免费版(商用许可) |
| **TypeScript** | 5.x | 客户端脚本语言 | Apache-2.0 |
### 2.2 服务端
| 技术 | 版本 | 用途 | 协议 |
|------|------|------|------|
| **Go** | 1.22+ | 服务端语言 | BSD-3 |
| **Nakama** | 3.x | 游戏服务端框架 | Apache-2.0 |
| **PostgreSQL** | 16+ | 关系型数据库 | PostgreSQL License |
| **Valkey** | 8+ | 缓存/会话存储 | BSD-3 |
### 2.3 基础设施
| 技术 | 版本 | 用途 | 协议 |
|------|------|------|------|
| **Docker** | latest | 容器化 | Apache-2.0 |
| **Nacos** | 2.x | 配置中心/服务发现 | Apache-2.0 |
| **Nginx** | 1.25+ | 反向代理/负载均衡 | BSD-2 |
| **Prometheus** | 2.x | 监控 | Apache-2.0 |
| **Grafana** | 10.x | 可视化监控 | AGPL前端/ Apache-2.0(服务端) |
| **Protobuf** | 3.x | 序列化协议 | BSD-3 |
---
## 3. 架构概览
```
┌─────────────────────────────────────────────┐
│ 客户端 (Cocos Creator) │
│ ┌─────────┐ ┌─────────┐ ┌─────────────┐ │
│ │ UI 层 │ │ 系统层 │ │ 网络层 │ │
│ │ scenes │ │ systems │ │ NetworkMgr │ │
│ └─────────┘ └─────────┘ └─────────────┘ │
└──────────────────┬──────────────────────────┘
│ WebSocket / gRPC
┌──────────────────┴──────────────────────────┐
│ Nakama 游戏服务端 │
│ ┌─────────┐ ┌─────────┐ ┌─────────────┐ │
│ │ RPC │ │ Match │ │ Middleware │ │
│ │ 业务逻辑 │ │ 实时对战 │ │ 认证/限流 │ │
│ └─────────┘ └─────────┘ └─────────────┘ │
└──────────────────┬──────────────────────────┘
│ SQL / Redis 协议
┌──────────┴──────────┐
▼ ▼
┌───────────────┐ ┌─────────────────┐
│ PostgreSQL │ │ Valkey │
│ 玩家数据 │ │ 缓存/会话/排行 │
└───────────────┘ └─────────────────┘
```
---
## 4. 详细技术文档
> 详细的技术设计文档TDD将在进入开发阶段后编写。
> 当前处于设计阶段,技术类内容仅限于选型概览。
| 主题 | 状态 | 说明 |
|------|------|------|
| 服务端整体架构 | 待编写 | 进入开发阶段后补充 TDD |
| 客户端热更新方案 | 待编写 | 进入开发阶段后补充 TDD |
| 数据库表结构设计 | 待编写 | 进入开发阶段后补充 TDD |
| API 接口设计 | 待编写 | 进入开发阶段后补充 TDD |
| 反作弊与安全设计 | 待编写 | 进入开发阶段后补充 TDD |
| 实时位置同步 | 待编写 | 进入开发阶段后补充 TDD |
---
## 5. 版本记录
- **v1.0**2026-07-08: 初始版本,汇总技术选型,标记详细 TDD 待开发阶段补充