陈均 JanChan

Data Platform / 数据同步

DX 备份与数据同步系统

DX 备份系统服务于内网多云环境下的多项目集群,核心是在不同环境之间实时同步海量数据,并支持主系统切换与回切。

角色 研发 / 数据同步周期 2025.07 - 2026.04方向 数据与检索
数据同步SeaTunnelRedisK8s灾备迁移
数据同步:两座数据中心之间双向流动的实时数据流
面向内网多云多项目集群的实时备份、同步与主系统切换。

背景:多环境、多集群、可切换

DX 运行管理系统部署在内网多云环境中,包含多个项目集群。业务要求系统能在不同环境之间实时备份相关数据,并在需要时切换主系统。真正困难的是“切换”背后的数据一致性:切过去之后数据要新,切回来之后不能丢。

核心难点

  • 数据量:10 亿级数据的存量初始化与持续增量同步。
  • 吞吐:Redis 级数据库需要支撑 12 万 QPS 的同步与迁移。
  • 环境差异:K8s 集群、镜像版本、配置和网络策略不一致。
  • 一致性:切换窗口内不能丢写,失败要能断点续传和回滚。

方案:分层同步 + 可验证切换

1. 关系型数据

使用 SeaTunnel 做全量与增量同步:先按分片做存量初始化,再基于日志做实时增量。同步任务记录位点和校验摘要,失败从断点恢复,避免全量重跑。

2. Redis 数据

使用 RedisShake 做数据迁移,结合 key-space events 捕获增量变更,覆盖字符串、哈希、列表、集合和有序集合等结构。对热点 key 做限速和重试,避免迁移流量压垮源库。

3. 环境同步

通过 K8s 编排完成不同环境的镜像、配置和密钥同步;配置项按环境模板化,敏感信息走独立密钥管理,不进入镜像和代码仓库。

4. 切换与回滚

切换前做数据校验和延迟检查,切换时冻结写入、等待同步追平、验证关键表摘要,再放量;回滚路径提前演练,确保任何一步失败都能退回原环境。

结果

10 亿级存量与增量数据实时同步
12 万 QPSRedis 级数据库同步与迁移
多环境K8s 镜像与配置同步

系统支撑了 10 亿级数据的实时同步、12 万 QPS 级的 Redis 数据迁移,以及多环境之间的镜像与配置同步;主系统切换从高风险人工操作变成有校验、可回滚的标准流程。

复盘

数据同步的难点不是“能同步”,而是“敢切换”。同步延迟、校验、断点和回滚必须一起设计,否则数据量越大,切换越不敢做。

数据同步SeaTunnelRedisK8s灾备迁移

陈均 JanChan

全栈架构师 / AI 工程师,14 年研发与架构经验。项目内容来自真实研发经历与同类场景的工程复盘。