Redis Cluster集群概念
使用哨兵模式 可以达到redis高可用目的,但是此时的每个Redis存有集群中的所有数据,从而导致集群的总数据存储量受限于可用存储内存最小的节点,形成了木桶效应。 在redis3.0之前,我们需要通过客户端(写代码)去做分片(数据拆分成多份),通过hash方式对key进行分片存储,客户端分片虽然能够解决各个节点的存储压力,但维护成本较高、增加、移除节点比较繁琐。 因此在redis3.0版本开始提供了Redis cluster集群功能,集群的特点在于拥有和单机实例一样的性能,同时提供了数据分片存储的支持,以及在主Redis数据库故障后自动故障转移恢复的支持。 哨兵 和 集群 是两个独立的功能,当不需要对数据进行分片使用哨兵就够了,如果要进行水平扩容,redis cluster是一个比较好的方式; 1.拓扑结构 一个 Redis Cluster 由多个Redis节点构成,不同节点组的redis数据没有交集,也就是每个一节点组对应数据的一个分片,节点组内部分为主备两类节点,对应master和slave节点,两者数据准实时一致,通过异步化的主备复制机制来保证。一个节点组有且只有一个master节点,同时可以有0(没有)到多个slave节点,在这个节点组中只有master节点对用户提供些服务; 2.Redis的数据分区 Redis cluster从Redis 3.0版本开始支持; Redis