Esta página descreve a alta disponibilidade (HA) para instâncias do Memorystore for Redis no nível Standard.
Vista geral
O nível padrão protege as instâncias do Redis contra falhas comuns replicando os dados para uma ou mais réplicas e oferecendo uma comutação por falha automática rápida para uma réplica.
O nível padrão é aprovisionado com uma instância principal e uma ou mais réplicas. Uma instância de nível padrão com a opção readReplicaMode
desativada tem uma única réplica não de leitura. Uma instância do nível padrão com a opção readReplicaMode
ativada tem entre uma e cinco réplicas de leitura. Para determinar se a readReplicaMode
está ativada, consulte o artigo Veja informações da réplica de leitura da sua instância.
O Memorystore for Redis oferece alta disponibilidade replicando um Redis primário para uma ou mais réplicas. As alterações feitas aos dados no servidor principal são copiadas para as réplicas através do protocolo de replicação assíncrona do Redis. Devido à natureza assíncrona da replicação, as réplicas podem ficar atrás da principal, consoante a taxa de gravação na principal.
Em caso de falha do servidor principal, a instância muda automaticamente para uma réplica. Para instâncias configuradas com mais de uma réplica, a instância muda automaticamente para uma réplica com o menor atraso de replicação que esteja em bom estado.
Se uma instância estiver configurada com apenas uma réplica não de leitura, todas as ligações da aplicação são direcionadas para o ponto final principal. Se uma instância for configurada com réplicas de leitura, as aplicações também podem tirar partido do ponto final de leitura para distribuir consultas de leitura por todas as réplicas.
Quando uma comutação por falha é acionada
Uma comutação por falha ocorre quando o Redis primário falha. Durante uma comutação por falha, o ponto final de leitura e principal é automaticamente redirecionado para o novo ponto final principal e as réplicas. Todas as ligações ao ponto final principal são interrompidas, e as ligações ao ponto final de leitura da réplica de leitura promovida também são interrompidas.
Como uma comutação por falha afeta a sua aplicação
Quando o principal comuta para a réplica, as ligações existentes ao ponto final principal da instância são terminadas. A instância fica indisponível durante uma média de 30 segundos durante as reparações automáticas e 15 segundos para eventos de manutenção. Após a nova ligação, a sua aplicação é automaticamente redirecionada para o novo servidor principal através da mesma string de ligação ou endereço IP. Não tem de atualizar a sua aplicação após uma comutação por falha.
Durante a comutação por falha, se existirem ligações ao ponto final de leitura, as ligações à réplica que está a ser promovida a principal são terminadas. As ligações às outras réplicas continuam a ser publicadas durante a comutação por falha. Assim que a comutação por falha estiver concluída e a nova réplica estiver disponível, as ligações são redirecionadas para a nova réplica.
Repetir a ligação da instância após a comutação por falha
Quando ocorre uma comutação por falha, todas as ligações do ponto final principal são interrompidas e, consoante o número de réplicas, algumas ligações de leitura são terminadas.
Devido a esta perda de ligação, a sua aplicação tem de tentar novamente para restabelecer a ligação. A lógica de repetição deve usar a retirada exponencial para garantir que não sobrecarrega a sua instância com demasiados pedidos de repetição. Além de incluir a lógica de repetição, deve testar como uma comutação por falha afeta a sua aplicação testando com uma comutação por falha manual.
A maioria dos clientes Redis tem capacidades de repetição incorporadas que deve usar no caso de uma quebra de ligação devido à comutação por falha.
Ocorre uma comutação por falha nos seguintes cenários:
- Dimensionar a sua instância
- Atualizar a versão do Redis de uma instância
- Iniciar uma comutação por falha manual
- Atualizações de manutenção
Se implementar uma lógica de repetição na sua aplicação para processar falhas de ligação devido a failovers, a sua instância não deve sentir um impacto significativo no desempenho. Normalmente, os problemas só surgem se não tiver uma lógica de repetição implementada.
Como vê o estado da alta disponibilidade
Pode ver as métricas de alta disponibilidade da sua instância do Redis através do Cloud Monitoring. Para ver informações sobre as métricas que o Cloud Monitoring fornece para o Memorystore for Redis, consulte os artigos Monitorizar instâncias do Redis e Monitorizar métricas.
Para mais informações, consulte a documentação do Cloud Monitoring.
Para ver o estado de replicação nativo fornecido pelo Redis, pode emitir o comando INFO do Redis para a instância do Memorystore para Redis.