2.0 KiB
2.0 KiB
DataKeep 项目进度记录 (PROGRESS.md)
1. 项目愿景
实现一个轻量级、物理隔离的数据库容灾备份系统,运行在备份服务器上,主动从生产环境“拉取”数据并同步到本地的 MySQL、Redis 和 MinIO 副本中。
2. 核心决策 (2026-02-09)
- 同步方向: Pull (从备份服务器主动连接生产服务器)。
- 同步频率: 小时级 (通过前端 UI 配置
sync_hour)。 - MySQL 同步:
mysqldump全量逻辑导出 -> 本地导入。支持自动建库(--databases)与结构变更自动覆盖(--add-drop-database)。 - Redis 同步:
SCAN+DUMP+RESTORE(键级同步),同步前FLUSHALL备份库。 - MinIO 同步: 增量镜像 (ETag + Size 对比),只增不删 (A方案)。
- 后端存储: SQLite (SQLAlchemy) 存储实例配置与运行记录。
- 前端框架: Vue 2 (使用 Vue-CLI 结构)。
- 部署方式: Docker Compose 一键部署。
- 暴露端口: 前端 Web 界面端口为
12000。
3. 任务进度清单
第一阶段:后端加固 [已完成]
- 后端基础框架 (FastAPI + APScheduler)
- MySQL 同步逻辑实现 (mysqldump)
- Redis 键级同步逻辑 (SCAN/DUMP/RESTORE)
- MinIO 增量同步逻辑 (SDK 模式,只增不删)
- 集成 SQLite 存储 (SQLAlchemy) 替代 JSON
- 完善实例级 RESTful CRUD API
第二阶段:前端工程化 [已完成]
- 初始化 Vue-CLI 完整目录结构
- 实现 Axios 封装与后端 API 对接
- 实现实例列表、新增、编辑、删除功能
- 实现小时级 (0-23) 调度选择 UI
- 实现运行历史日志查看页面
第三阶段:容器化与交付 [已完成]
- 编写后端 Dockerfile (含 mysql-client)
- 编写前端 Dockerfile (多阶段构建 + Nginx)
- 编写 docker-compose.yml (集成 MySQL/Redis/MinIO 备份实例)
- 修改前端暴露端口为 12000
- 编写 README.md 部署指南
状态: 全部完成 | 更新时间: 2026-02-09