集群演变( Redis 案例)

文章探讨了Redis集群的发展,从单节点的简单部署到主从模式的数据备份,再到哨兵模式的高可用性,最后是RedisCluster如何实现高可用、高并发和高存储。哨兵主要负责监控、选主和通知,而RedisCluster采用去中心化和数据分片策略,提供更强大的集群解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


本文浅谈一下集群的发展,用 Redis 做例案例

集群演变

集群演变思路

单节点
数据备份
高可用
高并发

Redis 集群演变流程

单节点
主从模式
哨兵集群
Redis Cluster 集群
  • 单节点:能用就行,除了问题就跑路
  • 主从模式:出了意外不用跑路,数据还有备份,手动可以恢复,就是需要宕机一段时间,年终奖要缩水
  • 哨兵集群:出了意外也不慌,自动恢复,年终奖稳了
  • Redis Cluster 集群:不仅没有意外,还支持高负载、高并发,且支持高存储,年终奖拿 S

所以集群最终方案是:解决高可用、高并发、高存储问题

 

单节点

缺点:

  1. 缺少数据备份
  2. 缺少高可用
  3. 缺少并发扩容,缺少负载均衡

优点:

  1. 容易部署

在这里插入图片描述

 

主从模式

缺点:

  1. 缺少高可用
  2. 缺少并发扩容,缺少负载均衡

优点:

  1. 容易部署
  2. 实现数据备份

在这里插入图片描述

 

哨兵模式

缺点:

  1. 部署门槛比较高
  2. 缺少负载均衡

优点:

  1. 实现数据备份
  2. 实现高可用

哨兵的主要工作内容

  1. 哨兵节点主要负责三件事情:监控、选主、通知
  2. 哨兵会每隔 1 秒给所有主从节点发送 PING 命令,判断它们是否在正常运行
  3. 如果主节点或者从节点没有在规定的时间内响应哨兵的 PING 命令,哨兵就会将它们标记为主观下线
  4. 当这个哨兵的赞同票数达到哨兵配置文件中的 quorum 配置项设定的值后,这时主节点就会被该哨兵标记为客观下线,且只有主节点会判断客观下线
  5. 哨兵集群通过投票选出一个 leader,让 leader 来执行主从切换,leader 一为最先发现主节点下线的哨兵

故障转移步骤

  1. 选举出数据最完善的从节点为主节点
  2. 修改从节点复制目标,修改为新主节点
  3. 将新主节点的 IP 地址和信息,通过「发布者/订阅者机制」通知给客户端
  4. 继续监视旧主节点,当这个旧主节点重新上线时,将它设置为新主节点的从节点

在这里插入图片描述
 
 

Redis Cluster 集群

缺点:

  1. 部署门槛比较搞

优点:

  1. 实现数据备份
  2. 实现高可用
  3. 实现高可用、高并发、高存储

主要逻辑

  1. 去中心化:没有中心节点,没有代理中间件,犹如操作单一Redis实例,当客户端操作的key没有分配到正确的 node 时,Redis会返回转向指令,指向正确的 node
  2. 数据分片:将不同的数据存储在不同的master节点上;根据哈希槽分区算法,将不同的哈希槽分布在不同的节点上面进行管理,也就是说每个Redis节点只负责一部分的哈希槽
  3. 多个 master 节点:每个master节点都可以挂载多个 slave 节点,当 master 节点挂掉时,集群会升级某个 slave 节点作为新的 master 节点

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值