Failover manual

Nesta página, você encontra uma visão geral do failover manual do Memorystore para Redis. Para saber como executar um failover, consulte Como iniciar um failover manual.

O que é um failover manual?

Uma instância de nível padrão do Memorystore para Redis usa um nó de réplica para fazer backup do nó principal. Um failover normal ocorre quando o nó principal perde a integridade, fazendo com que a réplica seja designada como o novo principal. A diferença entre o failover manual e o normal é que o manual precisa ser iniciado por você. Para mais informações sobre como funciona a replicação do Memorystore para Redis, consulte Alta disponibilidade.

Por que iniciar um failover manual?

Ao iniciar um failover manual, é possível testar como o aplicativo responde a um failover. Esse conhecimento ajuda a garantir um processo mais tranquilo se um failover inesperado ocorrer mais tarde.

Modo de proteção de dados opcional

Veja abaixo os dois modos de proteção de dados disponíveis:

  • Modo limited-data-loss (padrão).
    • O failover manual sempre é executado no modo de perda de dados limitada, a menos que você altere essa configuração.
  • Modo force-data-loss

Para alterar o modo de proteção de dados, use um dos seguintes comandos:

gcloud redis instances failover INSTANCE_NAME --data-protection-mode=force-data-loss

ou

gcloud redis instances failover INSTANCE_NAME --data-protection-mode=limited-data-loss

Como funcionam os modos de proteção de dados

Se você quiser testar como seu aplicativo se comportará em um cenário de failover real, use o modo force-data-loss porque ele representa com mais precisão as condições de um failover na recuperação de desastres.

Sempre que um failover for executado do principal para a réplica, haverá o risco de perda de dados. O modo limited-data-loss mantém essa perda de dados no mínimo verificando se a diferença na sincronização entre o principal e a réplica está abaixo de 30 MB antes de iniciar o failover.

O modo force-data-loss substitui essa verificação na sincronização da réplica principal. Se você usar o modo force-data-loss quando a sincronização da réplica for mais de 30 MB atrás do primário, será possível perder 30 MB de dados ou mais.

Métrica de bytes com replicação pendente

A métrica de bytes com replicação pendente informa quantos bytes restantes a réplica precisa copiar antes de fazer o backup completo do principal. Você pode acessar essa métrica no Console do Google Cloud na página de detalhes da instância. Para visualizar essa página, clique no código da instância, na página da lista de instâncias do seu projeto.

Como alternativa, acesse o explorador de métricas do pacote de operações do Google Cloud para seu projeto e pesquise a métrica redis.googlapis.com/replication/offset_diff.

Quando executar um failover manual

Os failovers manuais que usam o modo de proteção limited-data-loss padrão só funcionam se a métrica de bytes com replicação pendente for inferior a 30 MB. Se você quiser executar um failover manual com bytes com replicação pendente superior a 30 MB, use o modo de proteção force-data-loss.

Se você estiver tentando manter o maior número de dados possível, interrompa temporariamente a gravação do aplicativo na instância do Redis e execute o failover manual até que a métrica de bytes de replicação pendente seja reduzida a um valor aceitável.

Possíveis problemas que impedem um failover manual

  • A execução de um failover manual em uma instância de nível Básico não funciona porque as instâncias desse nível não têm réplicas.

  • Se a instância do Redis não estiver íntegra, não será possível realizar a operação de failover manual.

  • Se a instância tiver operações incompletas pendentes, como o escalonamento ou a atualização, a operação de failover manual será bloqueada. Você precisará aguardar até que a instância esteja no estado READY para executar um failover manual.

Conexão do aplicativo cliente

Quando o nó principal faz o failover para a réplica, as conexões atuais com o Memorystore para Redis são descartadas. No entanto, ao reconectar, seu aplicativo é redirecionado automaticamente para a nova instância principal usando a mesma string de conexão ou endereço IP.

Como confirmar um failover manual

É possível verificar o sucesso de uma operação de failover manual com o Console do Google Cloud, o pacote de operações do Google Cloud ou o gcloud.

Verificação do Console do Cloud

Antes de iniciar um failover manual, acesse a página da lista de instâncias do Memorystore para Redis e clique no nome da instância.

Em seguida, em Propriedades da instância, veja em quais zonas o principal e a réplica estão. Anote essas informações. Entre nessa página novamente quando concluir o failover manual para conferir se o nó principal e o de réplica mudaram de zona.

Verificação do Cloud Monitoring

Para visualizar as métricas de um recurso monitorado usando o Metrics Explorer, faça o seguinte:

  1. No painel de navegação do Console do Google Cloud, selecione Monitoring:
    Acesse o Console do Google Cloud

    Se este for o primeiro acesso do Cloud Monitoring ao projeto do Google Cloud, o produto criará um espaço de trabalho. Normalmente, esse processo é automático e é concluído em poucos minutos. Se você precisar escolher ou criar um espaço de trabalho, selecione "Criar".

  2. No painel de navegação do Monitoring, clique em Metrics Explorer.
  3. Verifique se Metric é a guia selecionada.
  4. Clique na caixa Find resource type and metric e, em seguida, insira ou selecione no menu o nome do recurso e da métrica. Use as informações a seguir para preencher os campos dessa caixa de texto:
    1. Em Recurso, selecione ou digite Cloud Memorystore Redis.
    2. Em Métrica, selecione ou insira Papel do nó.
  5. Use os menus Filtro, Agrupar por e Agregador para modificar a exibição dos dados. Por exemplo, é possível agrupar por rótulos de recurso ou métrica. Para mais informações, consulte Como selecionar métricas.

O gráfico do Cloud Monitoring representa os nós principal e de réplica com duas linhas. Quando o valor da linha for zero, ele será referente ao nó de réplica. Quando for um, ele representará o nó principal. O gráfico indica um failover ao mostrar como as linhas alternam entre um/zero e zero/um, respectivamente.

Verificação gcloud

Antes de iniciar um failover manual, use o seguinte comando para verificar em qual zona seu nó principal se encontra:

gcloud redis instances describe [INSTANCE_ID] --region=[REGION]

O nó principal está na zona currentLocationId. Anote essa informação.

Depois de concluir um failover manual, confirme se o nó principal mudou para uma nova zona. Basta executar o comando gcloud redis instances describe novamente e verificar se currentLocationId mudou de zona.

Além disso, o rótulo locationId informa a zona em que você provisionou originalmente o nó principal. O rótulo alternativeLocationId informa a zona em que o sistema provisionou originalmente o nó de réplica. Sempre que ocorrer um failover, o principal e a réplica alternarão entre essas duas zonas. No entanto, as zonas associadas a locationId e alternativeLocationId não são alteradas.