Redis ⽀持三种集群模式,分别为主从模式、哨兵模式和
Cluster
模式。
最初,Redis
采⽤主从模式构建集群。在这种模式下,如果主节点
(master)
出现故障,需要⼿动将从节点
(slave)
转换为主节点。然⽽,这种模式在故障恢复⽅⾯效率不⾼。
为了提⾼系统的可⽤性,Redis
引⼊了哨兵模式。在哨兵模式中,⼀个哨兵集群负责监控主节点和从节点。如果检测到主节点故障,系统可以⾃动将从节点晋升为新的主节点。这提⾼了故障恢复的⾃动化程度。
尽管如此,哨兵模式仍然⾯临内存容量和写⼊性能的限制,因为这种模式的写⼊能⼒仍然局限于单个节点。为了解决这⼀问题,Redis
在
3.x
版本之后推出了
Cluster
集群模式。
Cluster
模式通过数据分⽚和节点的⽔平扩展,实现了更⾼效的内存利⽤和写⼊性能。4

1.主从模式
1.1概念
在
Redis
的主从复制架构中,系统通过定义主库(
master
)和从库(
slave
)的⻆⾊,实现数据的⾼效同步和备份。这⼀架构具体包含以下特点:
•
master
的读写能⼒
:
master
是系统中的数据中⼼,它不仅承担全部的写操作,还能处理读请求。当在
master
上执⾏任何改变数据的操作时,这些更改会⾃动且实时地同步到所有 slave。
•
单向数据流
:数据同步流是单向的,意味着数据只从
master
流向
slave
,确保了数据同步的⼀致性和可靠性。
•
slave
的只读特性
:
slave
通常被配置为只读模式,它们接收并存储从
master
传来的数据。这样设计主要是为了分散读取压⼒,从⽽提⾼系统的整体读取性能。
•
主
slave
的对应关系
:⼀个
master
可以对应多个
slave
,形成⼀对多的关系。这种结构利于数据的冗余备份和读取负载的分散。相反,⼀个
slave
只能对应⼀个
master
,以保持数据同步的
⼀致性。
•
slave
的容错性</