1. 主从模式
最简单的一种集群方式,集群中分为master数据库和slave数据库,master可以提供读写服务,slave只能提供读服务,所以一单master关掉之后,集群就变成了了只读服务了
2. 哨兵(sentinel)模式
由于主从模式存在一大弊端,主节点挂掉之后无法对外提供写服务,哨兵模式出现了。哨兵模式由哨兵集群和redis集群组成,特点是:
- 哨兵集群只负责监控redis集群,不提供读写服务
- 当master挂掉时,sentinel会选举一个新的master,此时服务会停顿
- 客户端只需要连接sentinel即可,redis集群出现问题,发生重新选举不需要切换数据源
- 只有master提供写服务,slave是只读的,所以master压力很大
- 数据量过大时,master就扛不住了
3. cluster模式
当数据量很大时,就需要对数据进行切分存储,cluster模式将数据按照一定规则存储到多个机器上,是主从和sentinel模式的结合体。
- 每个节点都是一个主从节点集群
- 具有高可用、分片特性
- 无中心结构,每个节点保存数据和整个集群状态,每个节点都和其他所有节点连接
- 可以大量水平拓展,官方推荐不超过1000个节点