更新时间:2022-02-21 GMT+08:00

Redis Cluster集群实例

DCS Redis的集群实例有两种版本可供选择,一种是基于LVS+Proxy的高可用集群版本(以下简称为Proxy版Redis集群),另一种是原生Cluster的集群版本。Proxy版集群兼容开源Redis 3.0,Cluster版本兼容开源Redis的4.0和5.0。

本章节主要介绍Redis4.0和Redis5.0的Cluster集群实例。

Redis4.0和Redis5.0 Cluster集群实例

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

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

每个分片的大小=实例规格/分片数,例如,集群规格为48GB的实例,分片数为6,则每个集群分片的大小为48G/6=8G。

表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

  • 无中心架构

    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预分片示意图