java进阶篇--Redis 是如何实现高可用的?

高可用是通过设计,减少系统不能提供服务的时间,是分布式系统的基础也是保障系统可靠性的重要手段。而 Redis 作为一款普及率最高的内存型中间件,它的高可用技术也非常的成熟。

我们本课时的面试题是,Redis 是如何保证系统高可用的?它的实现方式有哪些?

回答:

Redis 高可用的手段主要有以下四种:

    数据持久化
    主从数据同步(主从复制)
    Redis 哨兵模式(Sentinel)
    Redis 集群(Cluster)

其中数据持久化保证了系统在发生宕机或者重启之后数据不会丢失,增加了系统的可靠性和减少了系统不可用的时间(省去了手动恢复数据的过程);而主从数据同步可以将数据存储至多台服务器,这样当遇到一台服务器宕机之后,可以很快地切换至另一台服务器以继续提供服务;哨兵模式用于发生故障之后自动切换服务器;而 Redis 集群提供了多主多从的 Redis 分布式集群环境,用于提供性能更好的 Redis 服务,并且它自身拥有故障自动切换的能力。

面试常考点分析

高可用的问题属于 Redis 中比较大的面试题了,因为很多知识点都和这个面试题有关,同时也属于比较难的面试题了。因为涉及了分布式集群,而分布式集群属于 Redis 中比较难懂的一个知识点。和此问题相关的面试题还有以下几个:

    数据持久化有几种方式?
    Redis 主从同步有几种模式?
    什么是 Redis 哨兵模式?它解决了什么问

你可能感兴趣的:(Java源码剖析(30讲),Redis集群,高可用,4种高可用方法)