Redis的集群模式——Java全栈知识(20)

1、主从模式

Redis 支持主从模式的集群搭建,这是 Redis 提供的最简单的集群模式搭建方案,目的是解决单点服务器宕机的问题。当单点服务器发生故障的时候保证 Redis 正常运行。
主从模式主要是将集群中的 Redis 节点分为主节点和从节点。然后读和写发生在主节点上面,从节点只能读,主节点修改的数据将同步到从节点。
当主节点发生故障的时候,需要手动的将一个从节点升级为主节点,即可保证 Redis 的正常运行
image.png|700

优点:

  • 主从模式搭建简单
    缺点:
  • 由于从节点升级需要人工介入,所以如果介入不及时会导致数据不一致的问题。

2、哨兵机制

image.png
哨兵模式相较于主从模式,就是新增了哨兵节点去监控 Redis 节点的运行状态。主从模式是 master 节点负责写请求,然后异步同步给 slave 节点,从节点负责处理读请求。如果 master 宕机了,需要手动将从节点晋升为主节点,并且还要切换客户端的连接数据源。这就无法达到高可用,而通过哨兵模式就可以解决这一问题。

哨兵模式是 Redis 的高可用方式,哨兵节点是特殊的 redis 服务,不提供读写服务,主要用来监控 redis 实例节点。哨兵架构下 client 端第一次从哨兵找出 redis 的主节点,后续就直接访问 redis 的主节点,不会每次都通过 sentinel 代理访问 redis 的主节点,当 redis 的主节点挂掉时,哨兵会第一时间感知到。
哨兵节点定期向所有主节点和从节点发送 PING 命令,如果在指定的时间内未收到 PONG 响应,哨兵节点会将该节点标记为主观下线。如果一个主节点被多数哨兵节点标记为主观下线,那么它将被标记为客观下线。
并且在 slave 节点中重新选出来一个新的 master,然后将新的 master 信息通知给 client 端,从而实现高可用。这里面 redis 的 client 端一般都实现了订阅功能,订阅 sentinel 发布的节点变动消息。

哨兵的任务可以总结为以下几点:

  1. 监控 Redis 节点的状态
  2. 主动容灾处理:当主节点发生故障之后,通过算法选举出新的主节点。
  3. 转移客户端来连接源:当主节点不可用时,客户端链接主节点失败后,哨兵会将新的主节点地址发送给客户端,转移为新的连接源。

3、Cluster 模式

Cluster 模式将 Redis 集群划分为多个分片,每个分片都是一个主从的结构,也就是每个分片都有主节点和从节点。
image.png
Cluster 将数据分片到每个节点上,每个分片都承担一部分的数据。针对于分片,主节点只负责读和写,从节点只负责读操作,从节点的数据是依靠主节点同步过来,也就是和主从模式一样。
Redis Cluster 能够自动检测节点的故障。当一个节点失去连接或不可达时,Redis Cluster 会尝试将该节点标记为不可用,并从可用的从节点中提升一个新的主节点。
Redis Cluster 是适用于大规模应用的解决方案,它提供了更好的横向扩展和容错能力。它自动管理数据分片和故障转移,减心少了运维的负担。
Cluster 模式的特点是数据分片存储在不同的节点上,每个节点都可以单独对外提供读写服务。不存在单点故障的问题。

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东莞呵呵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值