突破Java面试(23-6) - Redis主从架构如何实现高可用
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
- 点赞
- 收藏
- 关注作者
评论(0)