119 lines
1.7 KiB
Markdown
119 lines
1.7 KiB
Markdown
# Backend Services
|
|
|
|
## 项目结构
|
|
|
|
```
|
|
backend/
|
|
├── nginx/ # Nginx 配置
|
|
├── gateway/ # WebSocket 网关服务
|
|
├── services/
|
|
│ └── user-svc/ # 用户微服务
|
|
├── shared/ # 公共工具包
|
|
│ ├── logger/ # 日志工具
|
|
│ ├── errors/ # 错误处理
|
|
│ ├── postgres/ # PostgreSQL 数据库
|
|
│ ├── redis/ # Redis 缓存
|
|
│ └── proto/ # 公共 proto 定义
|
|
├── scripts/ # 自动化脚本
|
|
├── docker-compose.yml # 生产环境配置
|
|
├── docker-compose.dev.yml # 开发环境配置
|
|
├── Makefile # 命令封装
|
|
└── README.md # 使用说明
|
|
```
|
|
|
|
## 环境要求
|
|
|
|
- Docker
|
|
- Docker Compose
|
|
|
|
## 快速开始
|
|
|
|
### 开发环境
|
|
|
|
1. 一键启动开发环境:
|
|
|
|
```bash
|
|
make dev-start
|
|
```
|
|
|
|
这会自动:
|
|
- 生成 proto 代码
|
|
- 构建开发环境镜像
|
|
- 启动所有服务
|
|
- 显示服务状态
|
|
|
|
2. 查看服务状态:
|
|
|
|
```bash
|
|
make dev-status
|
|
```
|
|
|
|
3. 查看服务日志:
|
|
|
|
```bash
|
|
make dev-logs
|
|
```
|
|
|
|
4. 停止开发环境:
|
|
|
|
```bash
|
|
make dev-down
|
|
```
|
|
|
|
### 生产环境
|
|
|
|
1. 构建生产环境:
|
|
|
|
```bash
|
|
make build
|
|
```
|
|
|
|
2. 启动生产环境:
|
|
|
|
```bash
|
|
make up
|
|
```
|
|
|
|
3. 停止生产环境:
|
|
|
|
```bash
|
|
make down
|
|
```
|
|
|
|
## 其他命令
|
|
|
|
### 生成 proto 代码
|
|
|
|
```bash
|
|
make gen-proto
|
|
```
|
|
|
|
### 运行测试
|
|
|
|
```bash
|
|
make test
|
|
```
|
|
|
|
## 服务端口
|
|
|
|
- Nginx: 80
|
|
- Gateway: 8080
|
|
- User Service: 50051
|
|
- PostgreSQL: 5432
|
|
- Redis: 6379
|
|
|
|
## 技术栈
|
|
|
|
- Go 1.26.1
|
|
- gRPC
|
|
- PostgreSQL
|
|
- Redis
|
|
- Nginx
|
|
- Docker
|
|
|
|
## 注意事项
|
|
|
|
- 所有服务都在 Docker 容器中运行,无宿主机依赖
|
|
- 服务之间通过内部网络通信
|
|
- 数据持久化使用 Docker 卷
|