一、主从模式
主从模式即一主(master)一从(slave)或一主多从,从节点定期备份主节点的数据。主节点可提供读写操作,从节点只提供读操作。
优点:
1、分担了主节点的读压力
2、实现了数据备份
缺点:
1、如果主节点失效,需要人工干预才可恢复
2、写能力和存储能力都受到单机限制
二、哨兵模式
哨兵模式即在主从模式的基础上,添加一个或多个哨兵,实现主节点宕机后自动化恢复。
哨兵:特殊的redis节点,不存储数据,用于监控各个主从节点的存活状态,当主节点宕机时负责选举新的主节点。
哨兵监控原理:心跳包。当有足够多的哨兵发送心跳包却没有收到响应时,该节点会被标记为下线状态。如果是主节点下线,之后会通过选举机制在从节点中选取一个自动升级为主节点
优点:
1、包含主从模式的所有优点
2、实现了自动化恢复
缺点:
写能力和存储能力仍受到单机限制
三、集群模式
上面两种模式都没有解决单机限制,所以集群模式要解决的就是这个问题
类似于数据库的水平分库分表,将数据以某种规则放置在不同的库/表中,以实现集群
集群模式可以看做是在哨兵模式的基础上进行了水平扩展
优点:
1、包含哨兵模式的所有优点
2、突破单机限制
缺点:
大概就是实现比较复杂吧
版权申明
本文转载于【python】Redis主从模式、哨兵模式、集群模式,仅用于学习,版权归作者所有,如有侵权烦请告知,我会立即删除并表示歉意,联系邮箱。