Especificação do cluster e do nó

Esta página descreve as especificações de clusters e nós para instâncias do Memorystore for Redis Cluster. Para ver instruções sobre como criar uma instância, consulte o artigo Crie instâncias.

Escolha um tipo de nó

Todos os fragmentos no cluster usam o mesmo tipo de nó à sua escolha. O melhor tipo de nó para o seu cluster depende dos seus requisitos de preço, desempenho e capacidade do espaço de chaves.

O tipo de nó redis-shared-core-nano destina-se a cargas de trabalho pequenas. Este tipo de nó oferece um 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 aprovisionar pequenos clusters e aumentar o cluster em incrementos mais pequenos a custos potencialmente mais baixos do que outros tipos de nós. redis-standard-small também oferece a vantagem de distribuir o seu espaço de chaves por mais nós com uma contagem total de vCPUs mais elevada. Isto oferece um desempenho/preço melhorado em comparação com o redis-highmem-medium, desde que a capacidade total do espaço de chaves dos nós mais pequenos seja suficiente para as suas necessidades de dados.

Recomendamos que escolha o tipo de nó redis-highmem-xlarge apenas se precisar de mais capacidade de cluster do que a oferecida por redis-highmem-medium. Embora o tipo de nó redis-highmem-xlarge seja quatro vezes maior do que o tipo redis-highmem-medium em tamanho, o desempenho não é quatro vezes maior, uma vez que o desempenho do Redis não é dimensionado linearmente quando são adicionadas vCPUs a nós cada vez maiores (escalar verticalmente). Em alternativa, para conseguir um melhor desempenho de preços, deve expandir adicionando mais nós a um cluster.

Especificação do tipo de nó

A capacidade e as caraterísticas do nó dependem de qual dos quatro tipos de nós disponíveis escolher:

Capacidade do espaço de chaves e sobrecarga reservada

Tipo de nó Capacidade do espaço de chaves gravável predefinido Capacidade total dos nós
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-highmem-xlarge 46,4 GB 58 GB

O Memorystore reserva automaticamente uma parte da capacidade da instância para ajudar a evitar erros de falta de memória (OOM). Isto garante uma experiência fluida na leitura e escrita de chaves. Os limites de memória e os detalhes de armazenamento são os seguintes:

  • Personalizar o armazenamento: embora recomendemos a utilização das predefinições, tem a opção de ajustar a quantidade de armazenamento reservado através da configuração maxmemory. Para obter informações sobre maxmemory, consulte o artigo Configurações de instâncias suportadas.

  • Que quantidade de armazenamento recebe? Consulte a coluna Capacidade do espaço de chaves gravável predefinido da tabela anterior. Isto mostra a quantidade de armazenamento disponível para as suas chaves por predefinição.

  • Maximizar o armazenamento Se quiser o máximo de armazenamento possível, a coluna capacidade total do nó mostra o limite de armazenamento quando define a configuração maxmemory para 100%. No entanto, não recomendamos que escolha um valor de maxmemory superior à definição predefinida.

  • O tipo de nó redis-shared-core-nano tem um limite rígido de 1, 12 GB e não pode ser alterado com a configuração maxmemory.

Caraterísticas do nó

Tipo de nó Número de vCPUs SLA oferecido Máximo de clientes Memória máxima para clientes (configuração maxmemory-clients)
redis-shared-core-nano 0,5 Não 5000 12%
redis-standard-small 2 Sim 16 000 (predefinição). O valor máximo é 32 000 7%
redis-highmem-medium 2 Sim 32 000 (predefinição). O valor máximo é 64 000 7%
redis-highmem-xlarge 8 Sim 64 000 4%

Quanto mais CPUs virtuais (vCPUs) selecionar para o cluster, melhor será o desempenho. Se o cluster executar cargas de trabalho com utilização intensiva de recursos, selecione um tipo de nó com um número mais elevado de vCPUs (por exemplo, redis-highmem-xlarge). Se o cluster executar tarefas menos exigentes, selecione um tipo de nó com um número mais baixo de vCPUs (por exemplo, redis-highmem-medium).

Dimensione uma instância

Como parte da criação de uma instância do Memorystore for Redis Cluster, escolhe um tipo de nó para a instância e especifica o número de fragmentos para a instância. Depois de criar a instância e à medida que as necessidades de capacidade da instância mudam, pode ter de dimensionar a instância das seguintes formas:

  • Altere o número de fragmentos da sua instância. Isto é escalabilidade horizontal. Pode dimensionar uma instância horizontalmente através de uma das seguintes ações:
    • Adicione fragmentos à instância. Isto está a aumentar a escala da instância para fora.
    • Remova fragmentos da instância. Isto está a dimensionar a instância para dentro.
  • Altere o tipo de nó da sua instância. Isto é dimensionamento vertical. Para dimensionar uma instância verticalmente, altere o tipo de nó da instância para um dos seguintes tipos de nós:
    • Altere para um tipo de nó maior. Isto está a aumentar a escala da instância .
    • Mude para um tipo de nó mais pequeno. Isto está a reduzir a escala da instância.

Especificação do cluster

Esta secção mostra as capacidades mínimas e máximas do cluster, tendo em conta o formato do cluster, o tipo de nó e a quantidade de réplicas.

Capacidade de gravação mínima

A capacidade de gravação é a quantidade de armazenamento disponível para gravar chaves. É igual ao tamanho de um nó de instância. Por conseguinte, consoante o tipo de nó, a capacidade de gravação mínima é de 1,4 GB, 6,5 GB, 13 GB ou 58 GB. A capacidade de escrita mínima não é afetada pelo número de réplicas que escolher.

Capacidade de gravação máxima

Tipo e tamanho do nó Capacidade máxima com a forma do cluster de 250 nós primários e 0 réplicas por nó Capacidade máxima com a forma do cluster de 125 nós primários e 1 réplica por nó Capacidade máxima com base no formato do cluster de 83 nós principais e 2 réplicas por nó
redis-shared-core-nano – 1,4 GB 350 GB 175 GB 116,2 GB
redis-standard-small – 6,5 GB 1625 GB 812,5 GB 539,5 GB
redis-highmem-medium - 13 GB 3250 GB 1625 GB 1079 GB
redis-highmem-xlarge – 58 GB 14 500 GB 7250 GB 4814 GB

Desempenho

A utilização da ferramenta de testes de referência OSS memtier na região us-central1 gerou 120 000 a 130 000 operações por segundo por nó de 2 vCPU (redis-standard-small e redis-highmem-medium) com latência de microssegundos e um tamanho de dados de 1 KiB.

Recomendamos que faça a sua própria avaliação comparativa com cargas de trabalho reais ou cargas de trabalho sintéticas semelhantes ao seu tráfego de produção. Além disso, recomendamos que dimensione os seus clusters com uma margem (ou "espaço livre") para picos de carga de trabalho ou tráfego inesperado. Para mais orientações, consulte o artigo Práticas recomendadas para o Memorystore for Redis Cluster.

Agrupe pontos finais

Esta secção explica os dois pontos finais que cada instância tem.

Ponto final de descoberta

Cada instância tem um ponto final de deteção ao qual o seu cliente se liga. É uma combinação de um endereço IP e um número da porta. Para ver instruções sobre como encontrar o ponto final de deteção do cluster, consulte o artigo Veja o ponto final de deteção do cluster.

O seu cliente também o usa para a descoberta de nós. O seu cliente usa o ponto final de deteção para obter a topologia do cluster da sua instância para inicializar clientes de cluster do Redis de OSS e mantê-los atualizados em estado estável. A topologia do cluster resultante fornece pontos finais de nós do Redis (combinações de IP e porta) a serem colocados em cache na memória pelo cliente do cluster do Redis. Em seguida, o cliente trata das atualizações e dos redirecionamentos automaticamente, sem que seja necessária qualquer outra alteração à aplicação. Para obter informações sobre o comportamento de deteção de clientes e as práticas recomendadas, consulte o artigo Deteção de clientes.

O ponto final de descoberta está altamente disponível porque é suportado por vários nós Redis em várias zonas para publicar a topologia do cluster. A topologia de publicação através do ponto final é robusta, mesmo quando confrontada com falhas de nós de back-end ou atualizações de nós.

O seu ponto final de descoberta tem o seguinte comportamento:

  1. O ponto final 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 que execute, como o ajuste de escala ou a alteração do número de réplicas.

  2. Os pontos finais dos nós do Redis podem mudar e podem ser reciclados à medida que os nós são adicionados e removidos ao longo do tempo. Idealmente, deve usar um cliente de cluster do Redis que possa processar estas alterações automaticamente através de atualizações da topologia e redirecionamentos. Pode encontrar exemplos de clientes de clusters Redis em Exemplos de código da biblioteca cliente. A sua aplicação não deve ter dependências nem pressupostos de que os pontos finais dos nós vão permanecer inalterados para um determinado cluster.

Ponto final de dados

Cada instância também tem um ponto final de dados do Private Service Connect que o Memorystore para Redis Cluster usa para a ligação do cliente. No entanto, não deve estabelecer ligação diretamente a este endereço. O Memorystore for Redis Cluster usa este ponto final para ligar o cliente aos nós do cluster.