高可用方案选型
选择高可用方案前,先区分容量扩展、自动故障转移和读写分离三个目标。三种拓扑解决的问题不同,不应只按数据量选择。
1. 对比主从、哨兵与集群
| 维度 | 主从 | 哨兵 | 集群 |
|---|---|---|---|
| 数据分片 | 否 | 否 | 是 |
| 自动故障转移 | 否 | 是 | 是 |
| 水平扩展 | 否 | 否 | 是 |
| 读写分离 | 是 | 是 | 支持 |
| 复杂度 | 低 | 中 | 高 |
| 适用场景 | 小规模、手动切换 | 小规模、高可用 | 大规模、需分片 |
2. 按目标选择拓扑
| 场景 | 推荐 |
|---|---|
| 单实例容量和吞吐可满足目标,可接受手动切换 | 主从复制 |
| 单实例容量和吞吐可满足目标,需要自动故障转移 | 主从 + Sentinel |
| 单实例无法满足容量、吞吐或水平扩展目标 | Redis Cluster |
拓扑阈值应来自数据增长、单实例压测、RPO/RTO 和运维能力,不以固定的 10GB 数据量作为选型边界。