主从复制:采用的是一主多从模式,一个master节点可以用有多个slave节点,一个slave节点可以有多个slave节点
优点:
1、主从结果可以读写分离,主从同步是采用的非阻塞同步,slave节点在完成同步之前有查询请求,则返回同步之前的数据。
2、slave节点可以连接slave节点,可以有效的分担master节点压力,同时保证了多副本的存在。
缺点:文章来源:https://www.toymoban.com/news/detail-431788.html
1、不具备自动容错机制。主节点宕机,整个redis系统将不可用,如果要将slave节点升级为master节点,需要人为手动干预。
哨兵模式:由于主从复制模式下,master宕机需要人为手动干预来升级切换新的master节点,而哨兵模式就是来通过哨兵集群来自动选择slave为新的master,并且切换来自动恢复redis的可用。哨兵集群需要三台及以上的Sentinel来组成。
作用:1、监控master节点,slave节点和其他Sentinel节点的运行情况(通过ping命令),2、当master节点宕机,三台Sentinel会选举一个slave节点来充当新的master节点。
优点::
1、由于哨兵模式是基于主从模式来的,所以包括了主从模式的有点。
2、master宕机可以自动选举新的,自动切换,增加了可用性。
缺点:
1、仍然是一主多从的结果,数据量过大时同步会影响性能。
2、每个节点保存全量数据,浪费内存空间。
3、在选举出新的master之前,Sentinel会开启保护机制,禁止写操作。
Cluster集群:采用多主多从结构,也就是每一个分区都是一主多从组成的。每个节点上都会维护一部分槽,也知道所有的槽对应的节点,请求的数据不在当前节点时,会根据记录的槽对应的节点上去请求数据。
优点:
1、数据按照 slot 存储分布在多个节点,节点间数据共享,可动态调整数据分布;
2、可扩展性:可线性扩展到 1000 多个节点,节点可动态添加或删除;
3、高可用性:部分节点不可用时,集群仍可用。通过增加 Slave 做 standby 数据副本,能够实现故障自动 failover,节点之间通过 gossip 协议交换状态信息,用投票机制完成 Slave 到 Master 的角色提升;
4、降低运维成本,提高系统的扩展性和可用性。
缺点:
1、Key 批量操作限制,如使用 mset、mget 目前只支持具有相同 槽的 值的 Key 执行批量操作。
2、单个分区的主从不能slave连接slave,只能是一层复制结构。文章来源地址https://www.toymoban.com/news/detail-431788.html
到了这里,关于【2023-05-01】redis集群(主从、哨兵、cluster集群)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!