【2023-05-01】redis集群(主从、哨兵、cluster集群)

文章讨论了Redis的三种高可用性方案:主从复制提供读写分离和数据冗余,但需手动故障恢复;哨兵模式自动选主,增强可用性,但仍有数据同步问题;Cluster集群采用多主多从,动态数据分布,支持线性扩展,但限制了某些操作并要求节点间通信。
摘要由CSDN通过智能技术生成

主从复制:采用的是一主多从模式,一个master节点可以用有多个slave节点,一个slave节点可以有多个slave节点

优点:

​ 1、主从结果可以读写分离,主从同步是采用的非阻塞同步,slave节点在完成同步之前有查询请求,则返回同步之前的数据。

​ 2、slave节点可以连接slave节点,可以有效的分担master节点压力,同时保证了多副本的存在。

缺点:

​ 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,只能是一层复制结构。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值