Files
datakeep/PROGRESS.md
2026-02-09 18:07:46 +08:00

2.0 KiB
Raw Blame History

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