Redis不可用性以及基于哨兵机制的高可用性说明

文章讨论了99.99%高可用性的概念,并以Redis集群为例,解释了当主节点(masternode)挂掉时如何影响系统可用性。Redis通过故障转移(failover)确保高可用性,其中一个从节点(slavenode)会在主节点宕机时自动升级为主节点。哨兵机制(Sentinelnode)在此过程中起到关键作用,监控主节点状态并执行主备切换。
摘要由CSDN通过智能技术生成

高可用性说明

什么是 99.99%高可用性

如果你系统的服务端再全年99.99%的时间内都是可用的,那么这样的系统就叫做99.99%高可用性

Redis 不可用性

我们先来构想一个一主两从的Redis集群
redis 集群不可用性说明
在上述集群中,master node 专门用来写入数据,两个slave node 专门用来读取数据
思考一个问题:如果此时slave01节点挂掉之后对系统的可用性有影响吗?
答案是肯定不会的,因为此时还有一个slave node 可以提供查询服务
但是如果此时 master node宕掉了呢?
那么就会造成以下几个结果:

  1. 系统无法再往缓存中写入数据
  2. 所有的slave node 都没有master 来同步数据
  3. 大量的请求会直接访问到持久数据层,持久层压力陡然增大,有可能导致数据库宕机
    那么此时的Redis 集群实际上是不可用的

Redis高可用性如何保障

Redis 高可用架构,叫做故障转移,failover,也可以叫做主备切换。
简单来说当从机识别到master node 宕机之后,会由一个slave node 自动升级为master node 继续提供写入数据以及向其余slave node 同步数据的操作,等master node 重启或者故障排除后,继续以slave node 的身份加入到集群中,这样在一定程度上保证了redis 集群的高可用性

如何实现主备切换(Redis的哨兵机制)

Redis的哨兵机制依托于哨兵节点(Sentinal node),该节点作用有两个

  1. 监听master node 的存活状态
  2. 当sentinal node 监听到master node 状态异常时,会主动"提拔"一个slave node升级为 master node
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值