Cluster do Redis
O DCS fornece dois tipos de instâncias do Redis de cluster: Cluster de proxy e cluster do Redis. O cluster de proxy usa o Linux Virtual Server (LVS) e proxies. O Redis Cluster é a implementação distribuída nativa do Redis. As instâncias de cluster proxy são compatíveis com o Redis 3.0, 4.0 e 5.0, enquanto as instâncias de cluster do Redis são compatíveis com o Redis 4.0 e 5.0.
A divisão de leitura/gravação é suportada pela configuração do cliente para instâncias do Cluster Redis (Redis 4.0 e 5.0), mas não é suportada para instâncias do Cluster Proxy (Redis 3.0, 4.0 e 5.0). Leia mais sobre o suporte do DCS para divisão de leitura/gravação.
Esta seção descreve as instâncias do Cluster de Proxy DCS Redis 3.0, 4.0 e 5.0.
Instâncias do Cluster Proxy DCS Redis 4.0 e 5.0
O tipo de instância do Cluster do Redis fornecido pelo DCS é compatível com o Cluster do Redis nativo, que usa clientes inteligentes e uma arquitetura distribuída para executar sharding.
Tabela 1 lista as especificações de estilhaços para diferentes especificações de instância.
Você pode personalizar o tamanho do estilhaço ao criar uma instância do Cluster do Redis. Se o tamanho do estilhaço não for personalizado, o tamanho padrão será usado. Size of a shard = Instance specification/Number of shards. Por exemplo, se uma instância de 48 GB tiver 6 estilhaços, o tamanho de cada estilhaço será 48 GB/6 = 8 GB.
| Memória Total | Partições |
|---|---|
| 4 GB/8 GB/16 GB/24 GB/32 GB | 3 |
| 48 GB | 6 |
| 64 GB | 8 |
| 96 GB | 12 |
| 128 GB | 16 |
| 192 GB | 24 |
| 256 GB | 32 |
| 384 GB | 48 |
| 512 GB | 64 |
| 768 GB | 96 |
| 1024 GB | 128 |
- Arquitetura distribuída
Qualquer nó em um cluster do Redis pode receber solicitações. As solicitações recebidas são então redirecionadas para o nó certo para processamento. Cada nó consiste em um subconjunto de um principal e uma (por padrão) ou várias réplicas. As funções de principal ou réplica são determinadas por meio de um algoritmo de eleição.
Figura 1 Arquitetura distribuída do Redis Cluster
- Presharding
Há slots de hash 16.384 em cada cluster do Redis. O mapeamento entre slots de hash e nós do Redis é armazenado em servidores Redis. Para calcular qual é o slot de hash de uma determinada chave, basta pegar o CRC16 da chave módulo 16384.
Figura 2 Pré-harding do cluster do Redis