RSJselet/README.md
2025-07-10 13:42:54 +08:00

103 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 成绩查询系统 (RSJselet)
这是一个高性能的学生成绩查询系统支持12,000人同时在线查询。
## 主要特性
- 支持高并发查询12,000人同时在线
- 使用Redis缓存减轻数据库压力
- 提供等待室机制避免系统过载
- 自动释放数据库连接,避免资源泄漏
- 手机号验证和内网可访问
## 系统架构
- 后端: FastAPI + Uvicorn
- 数据库: MySQL
- 缓存: Redis
- 前端: HTML + CSS
## 快速开始
系统提供了测试数据和快速启动脚本,方便本地开发和测试:
### Windows系统
```bash
# 修改run_with_test_data.bat中的数据库连接信息
# 然后运行批处理文件
run_with_test_data.bat
```
### Linux/Mac系统
```bash
# 修改run_with_test_data.sh中的数据库连接信息
chmod +x run_with_test_data.sh
./run_with_test_data.sh
```
启动后访问 http://localhost:8000 即可使用系统。
### 测试数据
系统提供了约1000条测试数据包括
- 江苏省教育局的语文、数学、英语教师岗位
- 淮安市政府的行政助理、文案策划岗位
- 淮安市医院的内科医生、外科医生、护士岗位
- 江苏省人社厅的人事专员、劳动监察员、社保专员岗位
测试账号示例:
- 准考证号: 101081100101手机号: 13800000001
- 准考证号: 101081100201手机号: 13800000006
- 准考证号: 101081100301手机号: 13800000010
## 部署方式
系统提供多种部署方式:
### Docker部署推荐
使用Docker Compose一键部署所有服务
```bash
# 构建并启动
docker-compose up -d
```
### Linux可执行文件部署
将系统打包为单个可执行文件方便在Linux服务器上部署
```bash
# 构建可执行文件
chmod +x build_executable.sh
./build_executable.sh
# 部署到服务器
scp -r dist/* user@server:/path/to/deploy/
# 在服务器上启动
cd /path/to/deploy/
./start.sh
```
### 更多详情
请查看 [部署指南](DEPLOY.md) 获取更多详细信息。
## 高并发支持
系统已经过优化可以支持12,000人同时查询
1. **连接池优化**: 高效管理数据库和Redis连接
2. **等待室机制**: 控制并发查询数量,防止系统崩溃
3. **多进程支持**: 利用多核CPU提高处理能力
4. **缓存策略**: 自适应缓存热门数据
## 配置和扩展
所有系统参数都可以通过环境变量配置,请参考 [部署指南](DEPLOY.md) 获取完整配置选项。
如需支持更大规模并发,可参考扩展策略进行水平或垂直扩展。