阅读 189

【Redis主从架构】Redis主从如何做到99.99%高可用

1. 什么是系统99.99高可用?

如果你的系统可以保证全年,99.99%的事件内,都是处于高可用的状态,那么就可以称为高可用

99.9, 99% 都可以统称为高可用 80%可用,低可用性

定义:如果说你的系统可以保证在全年,99.99%的时间内,都是处于可用状态的,那么就可以称之为高可用性

2. 什么是系统不可用?

  • (1)机器死机了,宕机了
  • (2)jvm进程OOM了,挂了
  • (3)机器CPU打满了,不工作了。
  • (4)磁盘满了,系统各种IO报错了,不工作了。
  • (5)...

各种原因,都可能导致你的系统挂掉,没法提供服务,请求过来,什么都没有,没有任何响应,系统起不来,没法卖东西。

3. redis不可用

3.1 什么会导致redis不可用?

  • (1) redis进程死掉了
  • (2)redis进程所在的机器死掉了
  • (3) 缓存不可用,请求都到mysql上去了,大量流量跑到mysql上去,导致mysql宕机;mysql宕机,导致系统不可用。

3.2 slave node挂掉了会怎么样?master node挂掉了有会怎么样?

正常情况下,如果是一个slave node挂掉了,是不会影响可用性的,还有其他的各种slave node提供相同的对外查询服务

  • 但是,如果是master node死掉了呢?

导致后果:没法写数据了,写缓存失效了,没法想slave node同步数据量,相当于不可用了。

4. redis基于哨兵的高可用性

  • redis高可用架构,又叫做故障转移,failover,也可以称为主备切换

  • 通过哨兵 sentinal node,可以实时监测redis节点的健康情况,当master节点故障时,自动检测并且将某个slave node自动切换为 master node的过程,称为主备切换。这个过程实现了redis的主从架构的高可用性

所以,一旦mater故障,在很短的时间内sentinal node就会切换到另一个master上去,redis可能就几分钟不可用

参考 石衫老师 《亿级流量教程》课程笔记

本文使用 mdnice 排版

关注下面的标签,发现更多相似文章
评论