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