更新时间:2023-08-10 GMT+08:00

Redis Cluster集群实例

DCS Redis Cluster集群实例,是原生Cluster的集群版本。Redis Cluster集群实例的特点:

  • 兼容Redis原生Cluster集群。
  • 继承smart client的设计方案。
  • 相比主备,数倍性能提升。

Redis Cluster集群实例支持从客户端实现读写分离,相关操作请参考Cluster集群实例读写分离

  • 不支持Redis版本的升级,例如,不支持Redis 4.0 Cluster集群升级为Redis 5.0 Cluster集群实例。如果需要使用高版本Redis Cluster集群实例,建议重新创建高版本Redis Cluster集群实例,然后将原有Redis实例的数据迁移到高版本实例上。
  • 客户端连接Redis Cluster集群实例与连接单机、主备、Proxy集群实例的方式不同,连接示例请参考连接Redis缓存实例
  • 当前Redis 6.0基础版Cluster集群仅在北京四和华南广州等部分Region支持。

Cluster集群实例

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

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

在创建DCS 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预分片示意图