Esta página descreve as especificações de instância e nó para instâncias do Memorystore para Valkey. Para instruções sobre como criar uma instância, consulte Criar instâncias.
Como escolher um tipo de nó
Todos os nós na sua instância usam o mesmo tipo de nó escolhido. O melhor tipo de nó para sua instância depende dos seus requisitos de preço, desempenho e capacidade do espaço de chaves.
O tipo de nó shared-core-nano
é para cargas de trabalho pequenas. Esse tipo de nó oferece
performance variável e não tem um SLA, o que o torna inadequado para cargas de trabalho de produção.
O tipo de nó standard-small
permite provisionar instâncias pequenas e aumentar a instância em incrementos menores a custos potencialmente mais baixos do que outros tipos de nó. O standard-small
também oferece a vantagem de distribuir seu espaço de chaves em mais nós com uma contagem total de vCPUs maior. Isso oferece um melhor preço-desempenho em comparação com highmem-medium
, desde que a capacidade total do keyspace dos nós menores seja suficiente para suas necessidades de dados.
Recomendamos escolher o tipo de nó highmem-xlarge
apenas se você precisar de
mais capacidade de instância do que o highmem-medium
oferece. Embora o
tipo de nó highmem-xlarge
seja quatro vezes maior que o
tipo highmem-medium
em tamanho, o desempenho não é quatro vezes maior,
já que a performance do Valkey 7.2 não é escalonada linearmente quando as vCPUs são adicionadas a
nós cada vez maiores (escalonamento para cima). Em vez disso, para ter um melhor desempenho
de preço, é necessário dimensionar adicionando mais nós a uma instância.
Especificação do tipo de nó
A capacidade e as características do nó dependem de qual dos quatro tipos de nó disponíveis você escolher:
Capacidade do keyspace e sobrecarga reservada
Tipo de nó | Capacidade padrão do keyspace gravável | Capacidade total do nó |
---|---|---|
shared-core-nano | 1,12 GB | 1,4 GB |
standard-small | 5,2 GB | 6,5 GB |
highmem-medium | 10,4 GB | 13 GB |
highmem-xlarge | 46,4 GB | 58 GB |
O Memorystore reserva automaticamente uma parte da capacidade da instância para evitar erros de falta de memória (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:
Personalização do armazenamento:embora recomendemos usar as configurações padrão, você tem a opção de ajustar a quantidade de armazenamento reservado usando a configuração
maxmemory
. Para informações sobremaxmemory
, consulte Configurações de instâncias aceitas.Quanto espaço de armazenamento você tem? Consulte a coluna Capacidade padrão do keyspace gravável da tabela anterior. Isso mostra quanto armazenamento está disponível para suas chaves por padrão.
Maximizar o armazenamento: se você quiser o armazenamento máximo possível, a coluna capacidade total do nó mostra o limite de armazenamento quando você define a configuração
maxmemory
como 100%. No entanto, não recomendamos escolher um valor demaxmemory
maior que a configuração padrão.O tipo de nó
shared-core-nano
tem um limite rígido de 1, 12 GB e não pode ser alterado com a configuraçãomaxmemory
.
Características do nó
Tipo de nó | Contagem de vCPU | SLA oferecido | Clientes máximos | Memória máxima para clientes (configuração de maxmemory-clients) |
---|---|---|---|---|
shared-core-nano | 0,5 | Não | 5.000 | 12% |
standard-small | 2 | Sim | 16.000 (padrão). O valor máximo é 32.000 | 7% |
highmem-medium | 2 | Sim | 32.000 (padrão). O valor máximo é 64.000 | 7% |
highmem-xlarge | 8 | Sim | 64.000 | 4% |
Dimensionar uma instância
Ao criar uma instância do Memorystore para Valkey, você escolhe um tipo de nó para a instância e especifica o número de fragmentos dela. Depois de criar a instância e conforme a capacidade necessária para ela mudar, talvez seja necessário escalonar a instância das seguintes maneiras:
- Mude o número de fragmentos da instância. Isso é chamado de escalonamento horizontal.
Para dimensionar uma instância horizontalmente, realize uma das seguintes ações:
- Adicione fragmentos à instância. Isso está escalonando a instância para fora.
- Remova os fragmentos da instância. Isso está dimensionando a instância em.
- Mude o tipo de nó da sua instância. Isso é chamado de escala vertical. Para dimensionar
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 está escalonando a instância para cima.
- Mude para um tipo de nó menor. Isso está reduzindo a instância para baixo.
Especificação da instância
Esta seção mostra as capacidades mínimas e máximas da instância, considerando a forma da instância, o tipo de nó e a contagem de réplicas.
Capacidade mínima gravável
A capacidade gravável é a quantidade de armazenamento disponível para gravar chaves. Ele é igual ao tamanho de um nó de instância. Portanto, dependendo do tipo de nó, a capacidade mínima gravável é de 1,4 GB, 6,5 GB, 13 GB ou 58 GB. A capacidade mínima gravável não é afetada pelo número de réplicas que você escolhe.
Capacidade máxima de gravação
Tipo e tamanho do nó | Capacidade máxima no modo cluster desativado | Capacidade máxima no modo cluster ativado, considerando a forma de instância de 250 nós principais e 0 réplicas por nó | Capacidade máxima no modo de cluster ativado, considerando a forma de instância de 125 nós primários e 1 réplica por nó | Capacidade máxima no modo de cluster ativado, considerando a forma de instância de 83 nós primários e 2 réplicas por nó |
---|---|---|---|---|
shared-core-nano: 1,4 GB | 1,12 GB | 350 GB | 175 GB | 116,2 GB |
Pequeno padrão: 6,5 GB | 5,2 GB | 1.625 GB | 812,5 GB | 539,5 GB |
highmem-medium: 13 GB | 10,4 GB | 3.250 GB | 1.625 GB | 1.079 GB |
highmem-xlarge: 58 GB | 46,4 GB | 14.500 GB | 7.250 GB | 4.814 GB |
Desempenho
O uso da ferramenta de comparação de OSS memtier na região us-central1
gerou de 120.000 a 130.000 operações por segundo para cada dois nós de vCPU (standard-small
e highmem-medium
) com latência de microssegundos e tamanho de dados de 1 KiB.
Recomendamos que você realize seu próprio comparativo com cargas de trabalho reais ou sintéticas que se assemelham ao seu tráfego de produção. Além disso, recomendamos que você dimensione suas instâncias com um buffer (ou "headroom") para picos de carga de trabalho ou tráfego inesperado. Para mais orientações, consulte as práticas recomendadas.
Endpoints de instância para o modo de cluster ativado
Esta seção explica os endpoints de descoberta e de dados que a instância com o modo de cluster ativado 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 da instância, consulte Acessar o endpoint de descoberta da instância.
Seu cliente também a usa para descoberta de nós. O cliente usa o endpoint de descoberta para extrair a topologia de nós da sua instância e inicializar clientes de terceiros, além de mantê-los atualizados em estado estável. A topologia de nó resultante fornece endpoints de nó (combinações de IP e porta) para serem armazenados em cache na memória pelo cliente de terceiros. O cliente cuida das atualizações e dos redirecionamentos automaticamente, sem precisar fazer outras mudanças no aplicativo. Para saber mais sobre o comportamento de descoberta de clientes e as práticas recomendadas, consulte Descoberta de clientes.
O endpoint de descoberta tem alta disponibilidade porque é apoiado por vários nós em várias zonas para atender à topologia do nó. A exibição da topologia pelo endpoint é robusta mesmo quando há falhas ou atualizações de nó de back-end.
O endpoint de descoberta tem o seguinte comportamento:
O endpoint de descoberta da instância permanece inalterado durante todo o ciclo de vida dela, mesmo durante a manutenção ou qualquer outra ação, como dimensionamento ou alteração da contagem de réplicas.
Os endpoints de nó 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 terceiros que possa processar essas mudanças automaticamente com atualizações de topologia e redirecionamentos. Confira exemplos de clientes de terceiros em Exemplos de código da biblioteca de cliente. O aplicativo não pode ter dependências ou suposições de que os endpoints do nó vão permanecer inalterados para uma determinada instância.
Endpoint de dados
Cada instância também tem um endpoint de dados do Private Service Connect que o Memorystore for Valkey usa para a conexão do cliente. Não se conecte diretamente a esse endpoint. Em vez disso, o Memorystore para Valkey usa esse endpoint para conectar o cliente aos nós na instância.
Endpoints de instância para o modo de cluster desativado
Esta seção explica os endpoints primários e de leitor de cada instância com o modo de cluster desativado.
Endpoint principal
O endpoint principal é um endereço IP ao qual o aplicativo se conecta. Esse endpoint direciona o tráfego para o nó principal atual. As conexões com o endpoint principal podem enviar consultas de gravação e leitura.
O endpoint principal tem o seguinte comportamento:
- O endereço IP do endpoint principal permanece inalterado durante o ciclo de vida da instância. Se o nó de origem falhar ou sofrer um failover automático, o Memorystore para Valkey vai ajustar o endereço IP automaticamente. Os clientes não precisam fazer mudanças no endpoint. No entanto, se eventos não planejados resultarem em falhas de conexão, os clientes vão tentar restabelecer uma conexão.
- Se um nó principal se tornar a réplica, as conexões com esse nó de réplica e o Memorystore para Valkey vão redirecionar novas conexões para o novo nó principal por um failover automático. Espera-se que os clientes tentem novamente as conexões usando a espera exponencial.
- Se a instância tiver uma réplica, o endpoint principal terá uma disponibilidade maior do que o endpoint de leitura. Se a instância tiver duas réplicas provisionadas, o endpoint principal e o de leitura terão alta disponibilidade.
Endpoint do leitor
O endpoint do leitor é um endereço IP ao qual o aplicativo se conecta. Esse endpoint balanceia a carga de conexões de maneira uniforme nas réplicas da instância. As conexões com a réplica de leitura podem enviar consultas de leitura, mas não gravar consultas. O endpoint do leitor aumenta a capacidade e oferece isolamento de tráfego do nó principal. Para aplicativos que exigem acesso operacional, como scripts de risco e trabalhos off-line, recomendamos isolar o tráfego do nó principal usando o endpoint do leitor.
O endpoint do leitor tem o seguinte comportamento:
- Mesmo quando uma instância não tem réplicas de leitura provisionadas, o Memorystore for Valkey provisiona o endereço IP do endpoint do leitor para permitir a adição dinâmica de réplicas de leitura.
- Se o sistema não tiver réplicas de leitura disponíveis para rotear o tráfego, a conexão com o endpoint do leitor será encerrada. No entanto, ele não roteia as conexões feitas para o endpoint do leitor para o nó principal.
- Se um nó de réplica se tornar o principal, as conexões com esse nó e o Memorystore para Valkey redirecionarão novas conexões para o novo nó de réplica. Os clientes tentam essas conexões novamente usando a espera exponencial.
Para saber como lidar com erros comuns ao se conectar a endpoints com o modo cluster desativado, consulte Como lidar com erros no modo cluster desativado.