Redis主从最全详解(原理+架构+流程)

Redis是大型架构核心,下面我详解Redis主从复制@mikechen

Redis主从

Redis 主从是指:一个 Redis 实例作为主节点(Master),负责写入。

一个或多个 Redis 实例作为从节点(Slave/Replica),从主节点同步数据并提供读服务。

Redis主从最全详解(原理+架构+流程)-mikechen

主从复制的核心目的主要有三个:

数据冗余与高可用基础:主节点数据可以复制到多个从节点,降低单点故障风险。

读写分离:写请求集中到主节点,读请求可以分散到从节点,从而提升整体吞吐量。

故障恢复与弹性扩展:当主节点出现问题时,从节点可以在一定机制下接管服务,保证业务连续性。

 

Redis主从架构

Redis主从之间的复制分为两部分:全量复制和增量复制。

Redis主从最全详解(原理+架构+流程)-mikechen

       Application
            |
    +-------+-------+
    |               |
   写               读
    |               |
    v               v
+--------+     +----------+
| Master |---->| Replica1 |
+--------+     +----------+
    |          +----------+
    +--------->| Replica2 |
               +----------+
    |
    +---------> +----------+
                 | Replica3 |
                 +----------+

Master负责写:

SET user:1001 mikechen

然后把数据变化复制给多个 Replica。

读请求可以分散到:

Replica1
Replica2
Replica3

这样可以提高 Redis 的读吞吐能力

Redis主从原理

Redis主从最全详解(原理+架构+流程)-mikechen

Redis 的主从复制并不是简单地“把主库数据拷贝一份”,而是一个包含连接建立、全量同步、增量同步的动态过程。

1. 建立复制关系

从节点通过配置或命令指定主节点地址,随后向主节点发起连接请求。

连接建立后,从节点会向主节点发送同步请求。

2. 全量同步

当从节点首次连接主节点,或者复制断开时间较长、无法通过增量补齐时,主节点会进行全量同步。

全量同步的特点是数据完整,但代价较高,尤其在数据量大时会占用较多 CPU、磁盘和网络资源。

3. 增量同步

当主从连接短暂中断后,如果主节点仍保留断线期间的复制积压数据。

节点可通过增量同步补齐差异,而无需重新执行全量同步。

增量同步显著降低了复制成本,也是 Redis 主从复制高效的重要原因。

以上

评论交流
    说说你的看法