M4-04 Backup & Cleanup Module #38

Open
opened 2026-05-22 21:09:51 +08:00 by wangdl · 0 comments
Owner

目标

设计知习备份与清理模块,实现 MySQL 定时备份、Qdrant snapshot、上传 COS 以及过期数据清理的完整方案。

本 Issue 只做模块架构设计,不直接实现代码。

背景说明

生产数据需要定期备份:MySQL 每天备份、Qdrant 定期 snapshot、备份文件上传 COS。同时需要清理过期数据:本地备份保留 7 天、COS 备份保留 30 天、MySQL 物理清理、COS 过期文件清理、Qdrant 已删除 point 清理。

模块职责

  1. 本模块负责:
    • MySQL 定时备份(mysqldump 或类似方案)
    • Qdrant snapshot 创建和上传
    • 备份文件上传 COS(通过 File Storage)
    • 本地备份过期清理(保留 7 天)
    • COS 备份过期清理(保留 30 天)
    • MySQL 过期软删除数据物理清理
    • COS 已删除文件清理
    • Qdrant deleted point 清理
    • 备份和清理任务日志

候选数据对象

  • BackupJob
  • CleanupJob
  • PurgePolicy
  • RetentionPolicy
  • RestoreRecord

基础设施依赖

  • MySQL:是(清理对象)
  • Redis:否
  • BullMQ:是(备份/清理异步执行)
  • Qdrant:是(snapshot 对象)
  • COS:是(备份存储)

禁止事项

  • 禁止备份操作阻塞在线业务
  • 禁止清理操作删除未标记删除的数据
  • 禁止备份和清理不做日志记录

不建议当前阶段实现

  • 增量备份
  • 自动恢复演练
  • 异地备份
## 目标 设计知习备份与清理模块,实现 MySQL 定时备份、Qdrant snapshot、上传 COS 以及过期数据清理的完整方案。 本 Issue 只做模块架构设计,不直接实现代码。 ## 背景说明 生产数据需要定期备份:MySQL 每天备份、Qdrant 定期 snapshot、备份文件上传 COS。同时需要清理过期数据:本地备份保留 7 天、COS 备份保留 30 天、MySQL 物理清理、COS 过期文件清理、Qdrant 已删除 point 清理。 ## 模块职责 1. 本模块负责: - MySQL 定时备份(mysqldump 或类似方案) - Qdrant snapshot 创建和上传 - 备份文件上传 COS(通过 File Storage) - 本地备份过期清理(保留 7 天) - COS 备份过期清理(保留 30 天) - MySQL 过期软删除数据物理清理 - COS 已删除文件清理 - Qdrant deleted point 清理 - 备份和清理任务日志 ## 候选数据对象 - BackupJob - CleanupJob - PurgePolicy - RetentionPolicy - RestoreRecord ## 基础设施依赖 - MySQL:是(清理对象) - Redis:否 - BullMQ:是(备份/清理异步执行) - Qdrant:是(snapshot 对象) - COS:是(备份存储) ## 禁止事项 - 禁止备份操作阻塞在线业务 - 禁止清理操作删除未标记删除的数据 - 禁止备份和清理不做日志记录 ## 不建议当前阶段实现 - 增量备份 - 自动恢复演练 - 异地备份
wangdl added this to the M4:Admin 生产级运维深化(P3) milestone 2026-05-22 21:09:51 +08:00
wangdl self-assigned this 2026-05-22 21:09:51 +08:00
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: wangdl/api-server#38
No description provided.