Redis 高可用方案有哪些?
高可用面试题发布于
一、主从复制
- Master 写,Slave 异步复制数据。
- 读可从 Slave,分担读压力。
- Master 挂了需手动切换,不能自动故障转移。
二、哨兵模式(Sentinel)
- Sentinel 监控 Master/Slave 健康。
- Master 故障时自动选举新 Master,通知客户端。
- 适合中小规模。
三、集群模式(Cluster)
- 数据分片到多个节点,每片有主从。
- 16384 个槽位,按 key 的 CRC16 % 16384 分配。
- 客户端直连节点,自动路由。
- 支持水平扩展,自动故障转移。
- 适合大规模。
四、对比
| 方案 | 数据量 | 故障转移 | 扩展 |
|---|---|---|---|
| 主从 | 单机 | 手动 | 读扩展 |
| 哨兵 | 单机 | 自动 | 读扩展 |
| 集群 | 分片 | 自动 | 读写扩展 |
五、选择
- 数据量小,读多写少 → 哨兵。
- 数据量大,需水平扩展 → 集群。