DISASTER RECOVERY CONSOLE · REDIS

RPO / RTO 决策实验室

先说清楚“最多能丢多少、多久必须恢复”,再谈 RDB 和 AOF。这里估算的是故障边界,不是假装精确的生产承诺。

ESTIMATE / 估算模式
incident-window / 故障窗口
当前建议 AOF everysec 1 秒级 RPO 与写入性能折中
潜在丢失记录 5,000 按约 1 秒窗口估算
粗略恢复时长 约 11 分 41 秒 含文件载入与日志重放系数

保住 1 秒边界,比追求“零丢失”更现实匹配

AOF everysec 通常把最近约 1 秒写入留在风险窗口里。对数据库是真相源的业务,它能让 Redis 更快回到可服务状态,同时不把 Redis 误当成最终账本。

故障前的未落盘时间尺

条带越长,可能回退得越远

RDB 的窗口取决于快照间隔;此处用常见的 5 分钟快照估算。真实结果还会受写盘、重写、硬件和故障类型影响。

复制不是备份。误删、错误写入和逻辑污染会被同步到副本。副本解决可用性,独立备份与恢复演练才解决可恢复性。

五种方案,同一组故障参数

“符合”只比较当前 RPO 容忍度;最终决策仍要压测与演练。

方案估算 RPO潜在丢失估算 RTO写入代价 / 边界当前判断

把两个目标拆开,讨论才不会跑偏

RPO 回答“故障后最多允许回退多远”。AOF everysec 的风险窗口常按约 1 秒理解;RDB 则可能退回上一次快照。

RTO 回答“多久恢复服务”。文件越大、载入越慢、AOF 需要重放的命令越多,恢复时间越长。持久化更勤快,并不自动意味着恢复更快。

这组数是容量预演,不是 SLA

实验室用线性模型把选择的代价摊开。生产还要把实例启动、AOF 重写状态、校验、DNS 或流量切换、缓存预热和人工确认算进恢复链路。

潜在丢失记录 ≈ 每秒写入量 × RPO 窗口
粗略恢复时长 ≈ 数据量 ÷ 有效恢复吞吐 + 启动开销