Esta página explica como a arquitetura de cluster do Memorystore para Valkey oferece suporte e fornece alta disponibilidade (HA). Esta página também explica as configurações recomendadas que contribuem para melhorar a performance 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 com os 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 vai 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 ida e volta (latência do cliente) entre o cliente e a VM do 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 ela 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 das práticas recomendadas permite que o cliente gerencie de forma automática e eficiente a função (failovers automáticos) e as mudanças de atribuição de slots (substituição de nós, escalonar horizontalmente do consumidor) para sua instância sem tempo de inatividade.
Réplicas
Uma instância do Memorystore para Valkey com alta disponibilidade é um recurso regional. Isso significa que as VMs principais e de réplica dos fragmentos são distribuídas em várias zonas para se proteger contra uma falha zonal. O Memorystore para Valkey oferece 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ó
Forma da instância com duas réplicas por nó
Failover automático
As failovers automáticas em um fragmento podem ocorrer devido a 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.
As failovers automáticas evitam a perda de dados durante as atualizações de manutenção. Para saber mais sobre o comportamento de failover automático durante a manutenção, consulte Comportamento de 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 para ser a nova principal.
O reparo de nós pode levar alguns minutos para que o serviço substitua o nó com falha. Isso vale para todos os nós principais e de réplica. Para instâncias que não são altamente disponíveis (sem réplicas provisionadas), o reparo de um nó principal com falha também leva alguns 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 throughput 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.