集群模式
- 主从模式(master slave cluster)
- 哨兵模式 (sentinel cluster)
- 数据分片模式 (sharding cluster)
redis 通用缺点:
- 数据同步,buffer 同步数据覆盖问题(消息丢失),rdb 同步IO压力问题
主从模式
优点:
1.- 读写分离,性能扩展,降低主服务器的压力
2.- 容灾,快速恢复,主机挂掉时,从机变为主机(冷备)
缺点:
1.Redis 主从模式不具备自动容错和恢复功能,如果主节点宕机,Redis 集群将无法工作,此时需要人为干预,将从节点提升为主节点。
2.如果主机宕机前有一部分数据未能及时同步到从机,即使切换主机后也会造成数据不一致的问题,从而降低了系统的可用性。
3.因为只有一个主节点,所以其写入能力和存储能力都受到一定程度地限制。
4.在进行数据全量同步时,若同步的数据量较大可能会造卡顿的现象。
哨兵模式
优点:
1.- 读写分离,性能扩展,降低主服务器的压力
2.- 容灾,快速恢复,主机挂掉时,自动故障转移
3.- 哨兵监控节点
4.- 投票选举,问题节点自动下线隔离
1.- 集群监控:负责监控 Redis master 和 slave 进程是否正常工作;
2.- 消息通知:如果某个 Redis 实例出现故障,那么哨兵负责发送消息作为报警通知给管理员;
3.- 故障转移:如果 master node 挂掉了,会自动转移到 slave node 上;
4.- 配置中心:如果故障转移发生了,通知 client 客户端习新的 master 地址。
哨兵具备了主从切换和故障转移,因此集群有了更高的可用性。
sentinel 哨兵主要用来监控redis主从集群,提高了redis 主从集群的可用性。
缺点:
1.- Redis较难支持在线扩容,在线扩容比较复杂。
2.- 存在master 单节点压力与单节点性能限制
sharding cluster模式
优点:
1.读写分离
2.高可用
3.故障转译
4.数据分片(压力负载)
缺点:…