Esta página descreve as especificações de cluster e nó para instâncias do Memorystore para Redis Cluster. Para instruções sobre como criar uma instância, consulte Criar instâncias.
Escolher um tipo de nó
Os fragmentos no cluster usam o mesmo tipo de nó escolhido. O melhor tipo de nó para o cluster depende dos requisitos de preço, desempenho e capacidade do keyspace.
O tipo de nó redis-shared-core-nano é para cargas de trabalho pequenas. Esse tipo de nó
oferece desempenho variável
e não tem um SLA, o que o torna inadequado para cargas de trabalho de produção.
O tipo de nó redis-standard-small permite provisionar clusters pequenos e aumentar o cluster em incrementos menores com custos potencialmente mais baixos do que outros tipos de nó. O redis-standard-small também oferece a vantagem de distribuir o keyspace em mais nós com uma contagem total maior de vCPUs. Isso oferece melhor desempenho de preço em comparação com redis-highmem-medium, desde que a capacidade total do keyspace dos nós menores seja suficiente para as necessidades de dados.
Se você tiver cargas de trabalho que exigem uma taxa maior de capacidade de processamento em relação à memória, escolha o tipo de nó redis-highcpu-medium. Se você precisar de mais capacidade do que o redis-highmem-medium oferece, recomendamos escolher os tipos de nó redis-standard-large, redis-highmem-xlarge ou redis-highmem-2xlarge. Ao adicionar vCPUs a nós cada vez maiores (escalonamento vertical), o desempenho do Redis pode não ser escalonado linearmente. Em vez disso, para ter um melhor desempenho de preço, recomendamos que você escalonar horizontalmente
adicionando mais nós a um cluster.
Especificação do tipo de nó
A capacidade e as características do nó dependem do tipo de nó escolhido:
Capacidade de keyspace e sobrecarga reservada
| Tipo de nó | Capacidade de keyspace gravável padrão | Capacidade total do nó |
|---|---|---|
| redis-shared-core-nano | 1,12 GB | 1,4 GB |
| redis-standard-small | 5,2 GB | 6,5 GB |
| redis-highmem-medium | 10,4 GB | 13 GB |
| redis-highcpu-medium | 10,4 GB | 13 GB |
| redis-standard-large | 20,8 GB | 26 GB |
| redis-highmem-xlarge | 46,4 GB | 58 GB |
| redis-highmem-2xlarge | 88 GB | 110 GB |
O Memorystore reserva automaticamente uma parte da capacidade da instância para ajudar a evitar erros de memória insuficiente (OOM). Isso garante uma experiência tranquila de leitura e gravação de chaves. Os limites de memória e os detalhes de armazenamento são os seguintes:
Personalizar o armazenamento:recomendamos usar as configurações padrão, mas você tem a opção de ajustar a quantidade de armazenamento reservado usando a configuração
maxmemory. Para mais informações sobremaxmemory, consulte Configurações de instância com suporte.Quanto armazenamento você recebe? Consulte a coluna Capacidade de keyspace gravável padrão da tabela anterior. Ela mostra quanto armazenamento está disponível para suas chaves por padrão.
Maximizar o armazenamento : se você quiser o máximo de armazenamento possível, a coluna Capacidade total do nó mostra o limite de armazenamento ao definir a configuração
maxmemorycomo 100%. No entanto, não recomendamos escolher um valormaxmemorymaior que a configuração padrão.O tipo de nó
redis-shared-core-nanotem um limite fixo de 1, 12 GB e não pode ser alterado com a configuraçãomaxmemory.
Características do nó
Quanto mais CPUs virtuais (vCPUs) você selecionar para o cluster, melhor será o desempenho. Se o cluster executar cargas de trabalho com muitos recursos, selecione um tipo de nó com uma vCPU maior (por exemplo, redis-highmem-xlarge). Se o cluster executar tarefas menos exigentes, selecione um tipo de nó com uma vCPU menor (por exemplo, redis-highmem-medium).
Dimensionar uma instância
Como parte da criação de uma instância do Memorystore for Redis Cluster, você escolhe um tipo de nó para a instância e especifica o número de fragmentos para ela. Depois de criar a instância e conforme as necessidades de capacidade dela mudam, talvez seja necessário escalonar a instância das seguintes maneiras:
- Mude o número de fragmentos da instância. Esse é o escalonamento horizontal.
Para escalonar uma instância horizontalmente, execute uma das seguintes ações:
- Adicione fragmentos à instância. Isso é escalonar a instância horizontalmente.
- Remova fragmentos da instância. Isso é escalonar a instância verticalmente.
- Mude o tipo de nó da instância. Esse é o escalonamento vertical. Para escalonar uma instância verticalmente, mude o tipo de nó da instância para um dos seguintes tipos de nó:
- Mude para um tipo de nó maior. Isso é escalonar a instância verticalmente.
- Mude para um tipo de nó menor. Isso é escalonar a instância horizontalmente.
Especificação do cluster
Esta seção mostra as capacidades mínima e máxima do cluster, considerando o formato do cluster, o tipo de nó e a contagem de réplicas.
Capacidade gravável mínima
A capacidade gravável é a quantidade de armazenamento disponível para gravar chaves. Ela é igual ao tamanho de um nó de instância. Portanto, dependendo do tipo de nó, a capacidade gravável mínima é entre 1,4 GB e 110 GB. A capacidade gravável mínima não é afetada pelo número de réplicas escolhido.
Capacidade gravável máxima
| Tipo e tamanho do nó | Capacidade máxima considerando o formato do cluster de 250 nós principais e 0 réplicas por nó | Capacidade máxima considerando o formato do cluster de 125 nós principais e 1 réplicas por nó | Capacidade máxima considerando o formato do cluster de 83 nós principais e 2 réplicas por nó | Capacidade máxima considerando o formato do cluster de 62 nós principais e 3 réplicas por nó | Capacidade máxima considerando o formato do cluster de 50 nós principais e 4 réplicas por nó | Capacidade máxima considerando o formato do cluster de 41 nós principais e 5 réplicas por nó |
|---|---|---|---|---|---|---|
| redis-núcleo compartilhado-nano - 1,4 GB | 350 GB | 175 GB | 116,2 GB | 86,8 GB | 70 GB | 57,4 GB |
| redis-standard-small - 6,5 GB | 1.625 GB | 812,5 GB | 539,5 GB | 403 GB | 325 GB | 266,5 GB |
| redis-highmem-medium - 13 GB | 3.250 GB | 1.625 GB | 1.079 GB | 806 GB | 650 GB | 533 GB |
| redis-highcpu-medium - 13 GB | 3.250 GB | 1.625 GB | 1.079 GB | 806 GB | 650 GB | 533 GB |
| redis-standard-large - 26 GB | 6.500 GB | 3.250 GB | 2.158 GB | 1.612 GB | 1.300 GB | 1.066 GB |
| redis-highmem-xlarge - 58 GB | 14.500 GB | 7.250 GB | 4.814 GB | 3.596 GB | 2.900 GB | 2.378 GB |
| redis-highmem-2xlarge - 110 GB | 27.500 GB | 13.750 GB | 9.130 GB | 6.820 GB | 5.500 GB | 4.510 GB |
Desempenho
O uso da ferramenta de benchmarking memtier do OSS na região us-central1 gerou de 120.000 a 130.000
operações por segundo por nó de 2 vCPUs (redis-standard-small e
redis-highmem-medium) com latência de microssegundos e tamanho de dados de 1 KiB.
Recomendamos que você faça seu próprio benchmarking com cargas de trabalho reais ou sintéticas que se pareçam com o tráfego de produção. Além disso, recomendamos que você dimensione os clusters com um buffer (ou "folga") para picos de carga de trabalho ou tráfego inesperado. Para mais orientações, consulte Práticas recomendadas para o Memorystore para Redis Cluster.
Endpoints de cluster
Esta seção explica os dois endpoints que cada instância tem.
Endpoint de descoberta
Cada instância tem um endpoint de descoberta ao qual o cliente se conecta. É uma combinação de um endereço IP e um número de porta. Para instruções sobre como encontrar o endpoint de descoberta do cluster, consulte Visualizar o endpoint de descoberta do cluster.
O cliente também o usa para descoberta de nós. O cliente usa o endpoint de descoberta para recuperar a topologia do cluster da instância para inicializar clientes de cluster do OSS Redis e mantê-los atualizados em estado estável. A topologia de cluster resultante fornece endpoints de nó do Redis (combinações de IP e porta) para serem armazenados em cache na memória pelo cliente de cluster do Redis. O cliente cuida das atualizações e redirecionamentos automaticamente, sem que nenhuma outra mudança de aplicativo seja necessária. Para informações sobre o comportamento de descoberta do cliente e práticas recomendadas, consulte Descoberta do cliente.
O endpoint de descoberta é altamente disponível porque é apoiado por vários nós do Redis em várias zonas para atender à topologia do cluster. A topologia de serviço pelo endpoint é robusta, mesmo quando confrontada com falhas de nó de back-end ou atualizações de nó.
O endpoint de descoberta tem o seguinte comportamento:
O endpoint de descoberta do cluster permanece inalterado durante todo o ciclo de vida da instância do cluster, mesmo durante a manutenção ou qualquer outra ação realizada, como escalonamento vertical ou horizontal ou mudança na contagem de réplicas.
Os endpoints de nó do Redis podem mudar e ser reciclados à medida que os nós são adicionados e removidos ao longo do tempo. O ideal é usar um cliente de cluster do Redis que possa processar essas mudanças automaticamente por meio de atualizações e redirecionamentos de topologia. Exemplos de clientes de cluster do Redis podem ser encontrados em Amostras de código da biblioteca de cliente. O aplicativo não pode ter dependências ou suposições de que os endpoints de nó permanecerão inalterados para um determinado cluster.
Endpoint de dados
Além do endpoint de descoberta, cada cluster tem um endpoint de dados. Esse endpoint é reservado para o Memorystore for Redis Cluster usar para conectar seu cliente aos nós do cluster. Portanto, não se conecte diretamente a esse endpoint.