Redis集群的模式-主从、哨兵、Cluster

1. 主从集群

在Redis的集群中有一个Master,多个slave,Master节点负责数据的读写,Slave节点负责数据的读取,Master节点收到数据变更会同步到Slave节点,通过这样的架构可以实现读写分离,提升数据的查询效率。

Redis集群的模式-主从、哨兵、Cluster_第1张图片

缺点:不提供容错和恢复功能,一点Master节点挂了,不会选举新的master,导致集群无法使用,不能再继续提供写服务。

2.哨兵模式

为了解决主从模式的问题,基于主从复制的模式,Redis提供了哨兵模式,增加了哨兵节点,提供故障的自动恢复能力,哨兵会监测主从节点的状态,如果Master出现异常,则从Slave中选举出一个新的master。哨兵也可以做集群,从⽽可以保证但某⼀个哨兵节点宕机后,还有其他哨兵节点可以继续⼯作,这种模式可以⽐较好的保证Redis集群的⾼可⽤,但是仍然不能很好的解决Redis的容量上限问题

Redis集群的模式-主从、哨兵、Cluster_第2张图片

 缺点:虽然解决了容错和恢复的功能,但是仍然是一主多从的模式,没有解决在线扩容的问题

3.Cluster模式

Redis集群的模式-主从、哨兵、Cluster_第3张图片

 引入Slot槽来做数据的分片,Slot的范围是0~16383,共16384个,每个节点会获得一个slot区间,对数据进行存取的时候,Redis会自动计算出一个slot值(CRC16算法)

在高可用方面,Redis Cluster 引入了主从复制模式, 一个Master 节点对应一个或多个Slave 节点,当Master 出现故障,会从Slave 节点中选举一个新的Master 继续提供服务。

Cluster是一个多主多从的模式

缺点: (1)客户端的实现更加复杂(2)Slave节点只是一个冷备,不提供数据读写的能力,不分担压力

你可能感兴趣的:(redis,数据库,java)