DCS Redis Cluster集群实例,是原生Cluster的集群版本。Redis Cluster集群实例的特点:
- 兼容Redis原生Cluster集群。
- 继承smart client的设计方案。
- 相比主备,数倍性能提升。
Cluster集群实例
Cluster版Redis集群兼容开源Redis的Cluster,基于smart client和无中心的设计方案,对服务器进行分片。
Cluster版Redis集群每种实例规格对应的分片数,如表1所示。
每个分片的大小=实例规格/分片数,例如,集群规格为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 |
- 无中心架构
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预分片示意图