Esta página descreve as especificações de instâncias e nós para instâncias do Memorystore for Valkey. Para ver instruções sobre como criar uma instância, consulte o artigo Crie instâncias.
Escolha um tipo de nó
Todos os nós na sua instância usam o mesmo tipo de nó à sua escolha. O melhor tipo de nó para a 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
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 standard-small
tipo de nó permite aprovisionar instâncias pequenas e aumentar a instância em incrementos mais pequenos a custos potencialmente mais baixos do que outros tipos de nós. 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 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ó highmem-xlarge
apenas se precisar de
mais capacidade de instâncias do que a oferecida por highmem-medium
. Embora o tipo de nó highmem-xlarge
seja quatro vezes maior do que o tipo highmem-medium
em tamanho, o desempenho não é quatro vezes maior, uma vez que o desempenho do Valkey 7.2 não é dimensionado linearmente quando são adicionadas vCPUs a nós cada vez maiores (dimensionamento vertical). Em alternativa, para conseguir um melhor desempenho dos preços, deve aumentar a escala adicionando mais nós a uma instância.
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 |
---|---|---|
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 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 sobremaxmemory
, 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 demaxmemory
superior à definição predefinida.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
.
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) |
---|---|---|---|---|
shared-core-nano | 0,5 | Não | 5000 | 12% |
standard-small | 2 | Sim | 16 000 (predefinição). O valor máximo é 32 000 | 7% |
highmem-medium | 2 | Sim | 32 000 (predefinição). O valor máximo é 64 000 | 7% |
highmem-xlarge | 8 | Sim | 64 000 | 4% |
Quanto mais CPUs virtuais (vCPUs) selecionar para a sua instância, melhor será o desempenho. Se a sua instância 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, highmem-xlarge
). Se a sua instância executar tarefas menos exigentes, selecione um tipo de nó com um número mais baixo de vCPUs (por exemplo, highmem-medium
).
Dimensione uma instância
Como parte da criação de uma instância do Memorystore for Valkey, 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 da instância
Esta secção mostra as capacidades mínimas e máximas das instâncias, tendo em conta o formato da instância, 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 no modo de cluster desativada | Capacidade máxima no modo de cluster ativado, dada a forma da instância de 250 nós principais e 0 réplicas por nó | Capacidade máxima no modo de cluster ativado, dada a forma da instância de 125 nós principais e 1 réplica por nó | Capacidade máxima no modo de cluster ativado, dada a forma da 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 |
standard-small - 6,5 GB | 5,2 GB | 1625 GB | 812,5 GB | 539,5 GB |
highmem-medium – 13 GB | 10,4 GB | 3250 GB | 1625 GB | 1079 GB |
highmem-xlarge – 58 GB | 46,4 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 (standard-small
e 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 as suas instâncias com uma margem (ou "espaço livre") para picos de carga de trabalho ou tráfego inesperado. Para mais orientações, consulte as práticas recomendadas.
Pontos finais de instâncias para o modo de cluster ativado
Esta secção explica os pontos finais de deteção e dados que a instância com o modo de cluster ativado 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 da sua instância, consulte o artigo Veja o ponto final de deteção da sua instância.
O seu cliente também o usa para a descoberta de nós. O seu cliente usa o ponto final de descoberta para obter a topologia de nós da sua instância para inicializar clientes de terceiros e mantê-los atualizados em estado estável. A topologia de nós resultante fornece pontos finais de nós (combinações de IP e porta) a serem colocados em cache na memória pelo seu cliente de terceiros. 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 em várias zonas para publicar a topologia dos nós. 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:
O ponto final de deteção da sua instância permanece inalterado durante todo o ciclo de vida da instância, mesmo durante a manutenção ou por qualquer outra ação que execute, como o aumento ou a diminuição da escala ou a alteração do número de réplicas.
Os pontos finais dos nós 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 terceiros que possa processar estas alterações automaticamente através de atualizações da topologia e redirecionamentos. Pode encontrar exemplos de clientes de terceiros 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 uma determinada instância.
Ponto final de dados
Cada instância também tem um ponto final de dados do Private Service Connect que o Memorystore for Valkey usa para a ligação do cliente. Não se ligue diretamente a este ponto final. Em alternativa, o Memorystore for Valkey usa este ponto final para ligar o seu cliente a nós na sua instância.
Pontos finais de instâncias para o modo de cluster desativado
Esta secção explica os pontos finais primários e de leitura que cada instância com o modo de cluster desativado tem.
Ponto final principal
O ponto final principal é um endereço IP ao qual a sua aplicação se liga. Este ponto final direciona o tráfego para o nó principal atual. As ligações ao ponto final principal podem enviar consultas de leitura e escrita.
O seu ponto final principal tem o seguinte comportamento:
- O endereço IP do ponto final principal permanece inalterado durante todo o ciclo de vida da instância. Se o nó subjacente falhar ou sofrer uma comutação por falha automática, o Memorystore for Valkey ajusta automaticamente o endereço IP. Os clientes não precisam de fazer alterações com o ponto final. No entanto, se os eventos não planeados resultarem em falhas de ligação, os clientes tentam restabelecer uma ligação.
- Se um nó principal se tornar a réplica, as ligações a este nó de réplica terminam e o Memorystore for Valkey redireciona as novas ligações para o novo nó principal através de uma comutação por falha automática. Os clientes devem tentar novamente as ligações através da retirada exponencial.
- Se a instância tiver 1 réplica, o ponto final principal tem uma disponibilidade superior à do ponto final de leitura. Se a instância tiver 2 réplicas aprovisionadas, o ponto final principal e o ponto final do leitor têm elevada disponibilidade.
Ponto final do leitor
O ponto final do leitor é um endereço IP ao qual a sua aplicação se liga. Este ponto final equilibra as ligações entre as réplicas na instância de forma uniforme. As ligações à réplica de leitura podem enviar consultas de leitura, mas não consultas de escrita. O ponto final de leitura aumenta o débito e fornece isolamento do tráfego do nó principal. Para aplicações que requerem acesso operacional, como scripts arriscados e tarefas offline, recomendamos que isole o tráfego do nó principal através do ponto final do leitor.
O seu ponto final do leitor tem o seguinte comportamento:
- Mesmo quando uma instância não tem réplicas de leitura aprovisionadas, o Memorystore for Valkey aprovisiona o endereço IP do ponto final 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 encaminhar o tráfego, uma ligação ao ponto final do leitor é terminada. No entanto, não encaminha as ligações feitas ao ponto final do leitor para o nó principal.
- Se um nó de réplica se tornar o nó principal, as ligações a este nó principal terminam e o Memorystore for Valkey redireciona as novas ligações para o novo nó de réplica. Os clientes tentam novamente estas ligações através da retirada exponencial.
Para saber como processar erros comuns ao estabelecer ligação a pontos finais com o modo de cluster desativado, consulte o artigo Processamento de erros no modo de cluster desativado.