Nesta página, explicamos como a arquitetura de cluster do Memorystore para Valkey oferece suporte e oferece alta disponibilidade (HA, na sigla em inglês). Esta página também explica as configurações recomendadas que contribuem a fim de melhorar o desempenho e a estabilidade da instância.
Alta disponibilidade
O Memorystore para Valkey é criado em uma arquitetura altamente disponível em que os clientes acessam diretamente as VMs gerenciadas do Memorystore para Valkey. Para isso, eles se conectam a endereços de rede de fragmentos individuais, conforme descrito em Conectar-se a uma instância do Memorystore para Valkey.
A conexão direta a fragmentos oferece os seguintes benefícios:
A conexão direta evita qualquer ponto único de falha, porque cada fragmento é projetado para falhar de forma independente. Por exemplo, se o tráfego de vários clientes sobrecarregar um slot (fragmento do keyspace), a falha do fragmento limitará o impacto ao fragmento responsável por fornecer o slot.
A conexão direta evita saltos intermediários, o que minimiza o tempo de retorno (latência do cliente) entre seu cliente e a VM Valkey.
Configurações recomendadas
Recomendamos a criação de instâncias multizonas altamente disponíveis em vez de instâncias de zona única devido à maior confiabilidade que elas oferecem. No entanto, se você optar por provisionar uma instância sem réplicas, recomendamos escolher uma instância de zona única. Para mais informações, consulte Escolher uma instância de zona única se a instância não usar réplicas.
Para ativar a alta disponibilidade na sua instância, provisione pelo menos um nó de réplica para cada fragmento. Você pode fazer isso ao criar a instância ou dimensionar a contagem de réplicas para pelo menos uma réplica por fragmento. As réplicas oferecem failover automático durante a manutenção planejada e a falha inesperada de fragmentos.
Configure seu cliente de acordo com as orientações em Práticas recomendadas para clientes. O uso de práticas recomendadas permite que seu cliente processe de maneira automática e prática os papéis (failovers automáticos) e alterações na atribuição de slots (substituição de nós, escalonamento horizontal/horizontal do consumidor) na instância sem inatividade.
Réplicas
Uma instância do Memorystore para Valkey altamente disponível é um recurso regional. Isso significa que as VMs primárias e de réplica de fragmentos são distribuídas em várias zonas para proteger contra uma interrupção zonal. O Memorystore para Valkey dá suporte a instâncias com 0, 1 ou 2 réplicas por nó.
É possível usar réplicas para aumentar a capacidade de leitura escalonando as leituras.
Para fazer isso, use o comando READONLY
para estabelecer uma conexão
que permita que o cliente leia das réplicas.
Formato de instância com 0 réplicas por nó
Forma de instância com 1 réplica por nó
Formato de instância com duas réplicas por nó
Failover automático
Os failovers automáticos em um fragmento podem ocorrer devido à manutenção ou a uma falha inesperada do nó principal. Durante um failover, uma réplica é promovida para ser a principal. É possível configurar réplicas explicitamente. O serviço também pode provisionar temporariamente réplicas extras durante a manutenção interna para evitar inatividade.
Failovers automáticos evitam a perda de dados durante atualizações de manutenção. Para detalhes sobre o comportamento do failover automático durante a manutenção, consulte Comportamento do failover automático durante a manutenção.
Duração do failover e do reparo de nós
Os failovers automáticos podem levar dezenas de segundos para eventos não planejados, como uma falha de processo do nó principal ou uma falha de hardware. Durante esse período, o sistema detecta a falha e elege uma réplica como a nova instância principal.
O reparo de nós pode levar alguns minutos para que o serviço substitua o nó com falha. Isso é válido para todos os nós principais e de réplica. Para instâncias que não estão altamente disponíveis (sem réplicas provisionadas), o reparo de um nó principal com falha também leva tempo, em cerca de minutos.
Comportamento do cliente durante um failover não planejado
As conexões do cliente provavelmente serão redefinidas dependendo da natureza da falha. Após a recuperação automática, as conexões precisam ser tentadas novamente com retirada exponencial para evitar a sobrecarga dos nós principais e das réplicas.
Os clientes que usam réplicas para a capacidade de leitura precisam estar preparados para uma degradação temporária na capacidade até que o nó com falha seja substituído automaticamente.
Gravações perdidas
Durante um failover resultante de uma falha inesperada, as gravações confirmadas podem ser perdidas devido à natureza assíncrona do protocolo de replicação do Valkey.
Os aplicativos clientes podem aproveitar o comando WAIT do Valkey para melhorar a segurança dos dados do mundo real.