分布式缓存服务 DCS-Redis Cluster集群实例:Cluster集群实例架构

时间:2024-10-25 17:08:43

Cluster集群实例架构

Cluster版Redis集群兼容开源Redis的Cluster,基于smart client和无中心的设计方案,对服务器进行分片。

Cluster版Redis集群每种实例规格对应的分片数,如表1所示。

在创建D CS Cluster集群实例时,可以自定义分片大小。如果不自定义分片大小,使用系统默认分片,每个分片的大小=实例规格/分片数,例如,集群规格为48GB的实例,分片数为6,则每个集群分片的大小为48GB/6=8GB。

表1 Cluster集群实例规格和分片数的对应关系

集群版规格

分片数

4GB/8GB/16GB/24GB/32GB

3

48GB

6

64GB

8

96GB

12

128GB

16

192GB

24

256GB

32

384GB

48

512GB

64

768GB

96

1024GB

128

2048GB

128

  • 无中心架构

    Redis Cluster的任意节点都可以接收请求,但节点会将请求发送到正确的节点上执行,同时,每一个节点也是主从结构,默认包含一个主节点和一个从节点,由Redis Cluster根据选举算法决定节点主从属性。

    图1 Redis Cluster无中心架构
  • 数据预分片

    Redis Cluster会预先分配16384个slot,每个Redis的server存储所有slot与redis server的映射关系。key存储在哪个slot中,由Crc16(key) mod 16384的值决定。如下图所示:

    图2 Redis Cluster预分片示意图
    • Redis Cluster集群的每个分片也是一个Redis主备实例。当分片上的主节点故障时,该分片上的连接会有秒级中断、不可用,备节点在30秒内自动完成主备切换,单分片故障仅影响该分片上的数据访问,不影响其他分片上的数据访问。
    • Redis集群单分片主节点故障时,主备切换完成后,该分片原主节点(已切换为从节点)因故障不会立刻恢复,业务继续访问该分片原主节点会失败,可通过配置Redis SDK解决此类情况,具体请参见使用客户端连接Redis
support.huaweicloud.com/productdesc-dcs/CacheCluster.html