突破Java面试(23-6) - Redis主从架构如何实现高可用

举报
JavaEdge 发表于 2021/06/04 01:59:40 2021/06/04
【摘要】 1 redis不可用是什么? 机器死了,宕机了 jvm进程oom了,挂了 机器cpu打满了,不工作了, hang死了 磁盘突然满了,系统各种IO报错了,不工作了 不可用 请求过来,什么都没有空了,没有任何的响应,系统run不起来了,也没法卖东西了。 各种原因,都可能导致你的系统就挂掉了,没法对外提供服务了。 一帮人,工程师,连夜抢修,但是,问题在于,在抢...

1 redis不可用是什么?

  • 机器死了,宕机了

  • jvm进程oom了,挂了

  • 机器cpu打满了,不工作了, hang死了

  • 磁盘突然满了,系统各种IO报错了,不工作了

  • 不可用
    请求过来,什么都没有空了,没有任何的响应,系统run不起来了,也没法卖东西了。

各种原因,都可能导致你的系统就挂掉了,没法对外提供服务了。
一帮人,工程师,连夜抢修,但是,问题在于,在抢修的这段时间内,系统没法用,网站没法访问

redis的不可用

如果master node死了,会怎么样?
没法写数据了。写缓存的时候全部失效了。slave node还有什么用呢,没有master给他们复
制数据了,系统相当于就是不可用。
一个slave挂掉了,是不会影响可用性的,还有其他的slave在提供相同数据下的相同的对外的查询服务。

1、redis进程死了
2、redis进程所在的机器死了

缓存不可用.高并发高性能的缓存不可用了, 流量超过mysq|最大承载能力的大并发,大流量,会涌入mysql中, mysq|宕机,整个系统不可用。

2 怎么做到高可用?

redis高可用架构,叫做故障转移failover,也可叫做主备切换。
在master node故障时,自动检测,并且将某个salve node自动切换为master node的过程,叫做主备切换。这个过程实现redis的主从架构下的高可用。

一旦mater故障,在很短的时间内,就会切换到另外一个master。可能就几分钟,几秒redis是不可用的。

文章来源: javaedge.blog.csdn.net,作者:JavaEdge.,版权归原作者所有,如需转载,请联系作者。

原文链接:javaedge.blog.csdn.net/article/details/94723577

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。