标准答案
- RDB 在某些时刻生成内存快照,恢复快、文件紧凑,但最近一次快照后的写入可能丢失;适合用作全量恢复基线。
- AOF 追加记录写命令,按同步策略在性能和数据丢失窗口之间取舍;重写可压缩历史命令,但重写和恢复也需要评估资源成本。
- 复制把主节点的数据传播到副本,提升读扩展和故障恢复能力,但异步复制通常仍可能有复制延迟和切换时的数据窗口。
- 哨兵监控主从并在主节点故障时执行故障转移;Cluster 把 Key 按槽位分片到多个主节点并为每个分片配置副本,主要解决容量和吞吐横向扩展。
题目解析
高可用不等于零丢失。需要按业务的 RPO、RTO、客户端重连和写入确认策略说明:故障切换后哪些写可能丢、应用如何重试或对账。
Cluster 的分片和 RDB/AOF 的持久化维度不同。生产设计往往同时需要分片、副本、持久化、备份与恢复演练,而不是只选一个部署名词。
常见误区
- 把哨兵理解为分片方案,或把 Cluster 误认为自动强一致数据库。
- 开启 AOF 后不测试重启恢复时间、磁盘容量和故障切换时的写入窗口。