(目录)


Redis Cluster集群模式

img

  • Cluster模式是Redis3.0开始推出
  • 采用无中心结构每个节点保存数据和整个集群状态, 每个节点都和其他所有节点连接
  • 官方要求:至少6个节点才可以保证高可用,即3主3从扩展性强、更好做到高可用
  • 各个节点会互相通信,采用gossip协议交换节点元数据信息
  • 数据分散存储到各个节点上

Redis Cluster 集群 与 Redis Sentinel 有什么不同?

img

img

区别:

哨兵模式: 每个节点持有全量数据,且数据保持一致,为系统Redis高可用

集群模式 : 每个节点主数据不同,是数据的子集.利用多台服务器构建集群提高超大规模数据处理能力,同时提供高可用支持


Redis Cluster 集群如何将数据分散存储

img

Redis Cluster 集群采用Hash Slot(哈希槽)分配

Redis集群预分好16384个槽初始化集群时平均规划给每一台Redis Master


为什么是 Hash slot 是16384?

在Redis 集群中槽分配的元数据会不间断的在Redis集群中分发,以保证所有节点都知晓槽的分配情况

16384=16k,在发送心跳包时使用char进行bitmap压缩后是2k大小(2 * 8 (8 bit) * 1024(1k) = 16K),通常我们不会部署超过10000个Redis主节点,因此16384就够用了

Redis Cluster 集群构建流程

1.配置redis-cluster.conf

img

2.创建集群

img

3.查看集群

img

4.插入数据

img

5.Master故障情况

img

6.原Master恢复服务变成Slave

img