likes
comments
collection
share

前味菜:先来了解一下 Redis 的主从架构

作者站长头像
站长
· 阅读数 19

「这是我参与11月更文挑战的第9天,活动详情查看:2021最后一次更文挑战」。

当我在写一上来就主从、集群、哨兵,这谁受得了的时候,好多小伙伴就迫不及待的留言想看这些模式了,今天我们就从配置文件、设计原理、面试真题三个方面来聊一聊 Redis 的主从复制。

在 Redis 复制的基础上,使用和配置主从复制非常简单,能使得从 Redis 服务器(下文称 replica)能精确的复制主 Redis 服务器(下文称 master)的内容。每次当 replica 和 master 之间的连接断开时, replica 会自动重连到 master 上,并且无论这期间 master 发生了什么, replica 都将尝试让自身成为 master 的精确副本。

主从复制,从 5.0.0 版本开始,Redis 正式将 SLAVEOF  命令改名成了 REPLICAOF 命令并逐渐废弃原来的 SLAVEOF 命令

Redis使用默认的异步复制,其特点是低延迟高性能,是绝大多数 Redis 用例的自然复制模式。但是,replica 会异步地确认它从主 master 周期接收到的数据量。

主从拓扑架构

前味菜:先来了解一下 Redis 的主从架构

master 用来写操作,replicas 用来读取数据,适用于读多写少的场景。而对于写并发量较高的场景,多个从节点会导致主节点写命令的多次发送从而过度消耗网络带宽,同时也加重了 master 的负载影响服务稳定性。

前味菜:先来了解一下 Redis 的主从架构

replica 可以接受其它 replica 的连接。除了多个 replica 可以连接到同一个 master 之外, replica 之间也可以像层叠状的结构(cascading-like structure)连接到其他 replica 。自 Redis 4.0 起,所有的 sub-replica 将会从 master 收到完全一样的复制流。

当 master 需要多个 replica 时,为了避免对 master 的性能干扰,可以采用树状主从结构降低主节点的压力。

为了让大家对概念有更清晰的认识,下文我们将细致全面的看一下配置文件中主从复制的参数。如果你有不同的意见或者更好的idea,欢迎联系阿Q,添加阿Q可以加入技术交流群参与讨论呦!