Redis-redis cluster的概念

一、redis cluster

在《Redis-主从架构实践》这篇中,我们搭建了一主多从的架构来实现读写分离。在《Redis-搭建哨兵集群》这篇中,我们搭建了哨兵集群来实现Redis集群高可用,当master挂掉之后,则从多个slave中选择一个slave作为master对外提供读写服务。

但是至始至终,我们只有一个master对外提供服务。这种单redis在海量数据面前的瓶颈就在于一个master的内存是有限的,假设一个master所在节点的内存只有32G,那么不管该master有多少个slave,它们最大容纳的数据量也就只有32G。当超过32G的时候,则会根据缓存清理算法,将旧的很少使用的数据给清除出内存,然后保证内存中只有固定大小的内存。

那么怎样才能突破单机瓶颈,让redis支持海量数据呢?这就是接下来要说的redis cluster,其支撑N个master节点,每个master节点都可以挂载多个slave。

基于redis cluster去搭建redis集群,我们就不需要手动搭建主从架构+哨兵集群即可实现读写分离+高可用,同时通过多master实现海量数据的存储。

二、redis cluster vs replication + sentinel

如果我们的数据量很少,主要是承载高并发高性能的场景,比如缓存一般就几个G,那么单机足够了。一个mater多个slave,然后自己搭建一个sentinel集群,去保证redis主从架构的高可用性,就可以了。(replication+sentinel)

而redis cluster主要是针对海量数据+高并发+高可用的场景,如果我们的数据量很大,那么建议就用redis cluster。

你可能感兴趣的:(Redis)