面试突击 005 | Redis 是如何实现高可用的?它的实现方式有哪些?「视频版」

面试突击 005 | Redis 是如何实现高可用的?它的实现方式有哪些?「视频版」

这是个人第 35 篇原创文章
做者 | 老王(javacn666)
这部视频的录制、剪辑、作 PPT、写文稿大约花费了 5 个小时的时间,但愿这种形式能被更多的人喜欢,但愿这篇文章会给你带来更多的价值。
1 面试题java

Redis 是如何实现高可用的?它的实现方式有哪些?
2 涉及问题面试

  1. 什么是高可用?
  2. Redis 中高可用的实现方式有哪些?
  3. 各类实现方式的优缺点有哪些?
    3 视频

视频内容以下:服务器

4 答案并发

高可用是指经过设计减小程序不能提供服务的时间叫作高可用。
Redis 实现高可用的方式有四种:ide

  1. 持久化
  2. 主从同步(主从复制)
  3. Redis Sentinel
  4. Redis Cluster
    1)持久化

持久化有三种方式:
RDB(Redis DataBase)全量复制
AOF(Append Only File)增量复制
混合持久化(支持版本 Redis 4.0+)
持久化让 Redis 的数据再也不丢失,当某个节点奔溃时,能够很快的从新启动或从新搭建一个 Redis 服务器端,加载持久化文件便可恢复 Redis 的正常运行,为 Redis 奔溃恢复节省了宝贵的时间。
更多介绍详见视频部分。
2)主从同步设计

提供的功能是从单机 Redis 变成多机 Redis。
提供两种模式:主从模式和从从模式。
主从模式,以下图所示:
面试突击 005 | Redis 是如何实现高可用的?它的实现方式有哪些?「视频版」视频

从从模式,以下图所示:
面试突击 005 | Redis 是如何实现高可用的?它的实现方式有哪些?「视频版」
当主节点出现问题,咱们能够迅速把从节点切换成主节点,以快速恢复 Redis 的正常使用。
3)Redis Sentinelblog

主从模式有一个问题就是每次主节点出现问题时,咱们须要手动全部从节点,很是的不方便,使用咱们须要有一个监控的程序 Sentinel 帮咱们盯着这些主从服务器,一旦主节点有问题就立马拥护一个从节点做为新的主节点,这就是 Sentinel 最有价值的功能,以下图所示:
面试突击 005 | Redis 是如何实现高可用的?它的实现方式有哪些?「视频版」
4)Redis Cluster同步

集群功能是 Redis 3.0 提供的,它除了拥有主从和 Sentinel 的全部功能以外,还支持多个主从节点,Sentinel 监视的一组服务中只能有一个主节点,而 Cluster 能够拥有任意多个,而且 Cluster 提供了分片功能,能够把数据均衡的存储在各个主节点上,大大的提供了 Redis 的并发能力,以下图所示:
面试突击 005 | Redis 是如何实现高可用的?它的实现方式有哪些?「视频版」
5 小结it

持久化提供了数据存储功能,让数据再也不丢失,提升了 Redis 恢复的可能性;主从同步模式把单机 Redis 变成了多机 Redis,而且能够实现读写分离,从而下降了主节点读取的压力,当主节点宕机以后,也能手动快速的恢复 Redis 服务;Sentinel 把主从手动恢复的功能变成了自动的,实现了自动容灾;而 Cluster 除了支持其余功能以外,还提供了串连多个主从服务器的能力以及分片的能力,大大的提供了 Redis 的并发能力。
更多内容,请看视频部分。

【END】
近期热文

  • 面试突击 004 | 如何排查 Redis 中的慢查询?
  • 面试突击 003 | Redis 如何实现查询附近的人?
  • 面试突击 002 | Redis 是如何处理已过时元素的?
  • 面试突击 001 | Redis 如何从海量数据中查询出某一个 Key?
  • Java面试详解(2020版):500+ 面试题和核心知识点详解
  • 面试珍藏:最多见的200多道Java面试题
    关注下方二维码,订阅更多精彩内容

面试突击 005 | Redis 是如何实现高可用的?它的实现方式有哪些?「视频版」

相关文章
相关标签/搜索