Ir para o conteúdo

Como faço para minimizar o tempo de inatividade no ElastiCache durante o failover?

6 minuto de leitura
0

Quero seguir as melhores práticas para minimizar o tempo de inatividade durante os failovers no Amazon ElastiCache para Redis OSS e no Amazon ElastiCache para Valkey.

Breve descrição

O ElastiCache pode experimentar failovers que afetam o desempenho e a confiabilidade da aplicação pelos seguintes motivos:

  • Se você esgotar recursos, como memória, CPU e largura de banda da rede, seus nós poderão apresentar failover.
  • Se a AWS programar um evento de manutenção para uma atualização, seus nós poderão apresentar failover.
  • Se o hardware físico da infraestrutura que hospeda os nós quebrar ou apresentar problemas, seus nós poderão apresentar failover.
  • Se você não configurar corretamente as aplicações ou serviços que interagem com seu cache, as configurações poderão levar a um maior tempo de inatividade.

Resolução

Ativar o Multi-AZ

Para criar e manter nós primários e de réplica em diferentes zonas de disponibilidade (AZs) em uma região da AWS, use o atributo Multi-AZ do ElastiCache. Se o nó primário falhar, o nó réplica assumirá o perfil de nó primário com o mínimo de tempo de inatividade.

Adicionar réplicas de leitura

Ao adicionar réplicas de leitura às suas implantações do Redis, você minimiza significativamente o tempo de inatividade e a perda de dados nas tarefas de failover. Quando suas réplicas de leitura gerenciam solicitações de leitura, configure seu nó primário para lidar com operações de gravação. Essa configuração oferece os seguintes benefícios:

  • Melhora o throughput de leitura
  • Reduz a latência
  • Fornece tolerância a falhas
  • Simplifica as tarefas de manutenção que causam tempo de inatividade em seu cluster

Distribui nós em todas as Zonas de Disponibilidade

Quando você distribui nós em várias Zonas de Disponibilidade, as réplicas em diferentes AZs fornecem alta disponibilidade e operações de leitura contínua. Essa configuração melhora a resiliência do sistema e reduz o tempo de inatividade em caso de failover do nó. É possível distribuir seus nós em várias AZs ao configurar seu cluster pela primeira vez ou ao adicionar novos nós a um cluster existente. Para obter mais informações, consulte Escolha de regiões e zonas de disponibilidade para o ElastiCache.

Use a versão mais recente do Valkey ou Redis OSS

Com base no seu cluster e tipo de nó, use a versão mais recente do Valkey ou do Redis OSS para oferecer suporte aos atributos mais recentes. Por exemplo, clusters desativados no modo cluster exigem a versão 7.2 do Valkey ou a versão 5.0.6 ou posterior do Redis OSS para usar o atributo de substituição planejada de nós. Para obter mais informações, consulte Tipos de nós suportados.

Monitore eventos de cluster

Para identificar e responder aos failovers, revise seus eventos de cluster do ElastiCache. Para detectar failovers antecipadamente, use o Amazon Simple Notification Service (Amazon SNS) para configurar o ElastiCache para enviar notificações sobre eventos importantes do cluster.

Use os endpoints corretos

Para minimizar o tempo de inatividade durante o failover, você deve usar os endpoints corretos para seu cluster OSS do ElastiCache for Redis com base na configuração do seu cluster. Para distribuir os workloads de leitura entre réplicas em clusters desativados no modo cluster, use o endpoint primário para operações de gravação e o endpoint de leitor para operações de leitura. Para clusters habilitados para o modo cluster, use o endpoint de configuração para todas as operações para gerenciar automaticamente as conexões com os nós corretos. Ao escolher o endpoint correto para seu modo de cluster, você otimiza o desempenho e cria um processo fluido de failover. Para obter mais informações, consulte Localizar endpoints de conexão no ElastiCache.

Observação: Não é uma prática recomendada usar diretamente os endpoints de nós individuais. Em vez disso, use os endpoints corretos para seu tipo de conexão. Como as funções dos nós podem mudar durante eventos de failover, você terá mais problemas de aplicação se usar um endpoint de nó individual.

Teste regularmente o failover automático

Para manter implantações confiáveis do Redis, é uma prática recomendada testar regularmente o failover automático. Para testar o failover automático, você deve simular a falha do nó primário para garantir que suas réplicas sejam promovidas ao status primário. Esses testes podem identificar problemas em suas configurações e permitir que você resolva os problemas antes que eles afetem seus clusters. Além disso, os testes de failover fornecem informações sobre o desempenho da aplicação e sobre como otimizar sua arquitetura e procedimentos de recuperação.

Siga as práticas recomendadas para seus clientes Redis

Para seus clientes Redis, siga estas práticas recomendadas:

  • Para aprimorar o desempenho e a escalabilidade da aplicação, use o agrupamento de conexões para gerenciar conexões reutilizáveis e pré-estabelecidas. Para obter mais informações, consulte Grupos de conexão e multiplexação no site do Redis.
  • Implemente tratamento de exceções e de timeouts para manter a eficiência das aplicações no seu cluster Redis. Também é possível revisar seus logs de timeouts para identificar problemas e ajustar suas configurações. Para obter mais informações, consulte Client timeouts no site do Redis.
  • Para manter as aplicações resilientes, implemente mecanismos de repetição que usem uma estratégia de recuo exponencial. Configure os mecanismos para diferenciar entre erros transitórios que justificam novas tentativas e falhas permanentes que não justificam novas tentativas. Para obter mais informações, consulte Descoberta de cliente em Cluster e recuo exponencial (Valkey e Redis OSS).
  • Ative os logs para capturar as principais métricas e erros e estabelecer uma linha de base de desempenho para seu cluster. Para obter mais informações, consulte evento de logs no site do Redis.
  • Projete seus clientes para lidar dinamicamente com as mudanças na topologia do cluster, bem como para se adaptar às mudanças nos nós e nos perfis. Para manter as conexões com os nós do cluster e otimizar seus clusters, implemente o agrupamento inteligente de conexões. Para obter mais informações, consulte Redis cluster e bibliotecas de cliente no site do Redis.

Informações relacionadas

Práticas recomendadas de monitoramento com o Amazon ElastiCache para Redis usando o Amazon CloudWatch

Como soluciono problemas de alta latência no ElastiCache para Redis?

Clientes de conexão compatíveis no site do Redis

AWS OFICIALAtualizada há um ano