Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
MongoDB Branding Shape
Click here >
Menu Docs

Testar failover primário

Observação

Esta funcionalidade não está disponível para clusters gratuitos e clusters flexíveis. Para aprender mais sobre quais recursos não estão disponíveis, consulte Limites de cluster gratuito do Atlas.

O Atlas realiza eleições de conjuntos de réplicas quando faz alterações na configuração, como atualizações de patches, eventos de escalabilidade e quando ocorrem falhas. Seus aplicativos devem lidar com as eleições de conjuntos de réplicas sem nenhum tempo de inatividade. Para saber como criar um aplicação resiliente , consulte Criar um Aplicativo Resiliente com o MongoDB Atlas.

Você pode ativar as gravações repetíveis adicionando retryWrites=true à cadeia de conexão do URI do Atlas. Para saber mais, consulte Gravações repetíveis.

Você pode usar a interface de usuário e a API do Atlas para testar a falha do conjunto de réplicas primário em seu cluster Atlas e observar como seu aplicação lida com um failover de conjunto de réplicas.

Para iniciar um teste de failover, você deve ter acesso Organization Owner, Project Owner, Project Cluster Manager ou Project Stream Processing Owner ao projeto.

Antes de testar a falha do conjunto de réplicas primário, você deve atender às seguintes condições:

  • Todas as alterações pendentes no seu cluster devem ser concluídas.

  • Todos os membros do cluster devem estar em um estado saudável com dados de monitoramento atualizados.

  • Cada conjunto de réplicas ou fragmento deve ter um nó primário.

  • Qualquer membro do cluster deve ter um atraso de replicação inferior a 10 segundos.

  • Todos os membros do seu cluster devem ter pelo menos 5% do espaço disponível em disco restante.

  • Todas os oplogs de nó primário devem ter espaço suficiente para uma operação de três horas.

Importante

Certifique-se de que seu Atlas cluster esteja íntegro antes de testar o failover primary. Caso contrário, a Atlas poderá rejeitar sua solicitação.

Quando você envia uma solicitação para testar o failover primário, o Atlas simula um evento de failover. Durante este processo:

  1. O Atlas desliga o primaryatual.

  2. Os nós do conjunto de réplicas realizam uma eleição para escolher qual dos secundários se tornará o novo primário.

  3. O Atlas traz o primário original de volta para o conjunto de réplicas como um secundário. Quando o primário antigo se juntar novamente ao conjunto de réplicas, ele será sincronizado com o novo primário para recuperar todas as gravações que ocorreram durante seu tempo de inatividade.

As instruções a seguir descrevem o comportamento do Atlas durante sobreposições e ao testar failover em clusters fragmentados:

  • Se o primary original aceitou operações de escrita que não foram replicadas com êxito para os secundários quando o primary foi desativado, o primary reverte essas operações de escrita quando se junta novamente ao conjunto de réplicas e começa a sincronizar. Para saber mais, consulte Rollbacks durante o failover do conjunto de réplicas. Entre em contato com o suporte do MongoDB para obter assistência na resolução de rollbacks.

  • Somente os processos do mongos que estão nas mesmas instâncias que os primários dos conjuntos de réplicas no cluster fragmentado são reiniciados.

  • Os primaries dos conjuntos de réplicas no cluster fragmentado são reiniciados em paralelo.

Para iniciar um teste de failover para o agrupamento especificado em seu projeto utilizando o Atlas CLI, execute o seguinte comando:

atlas clusters failover <clusterName> [options]

Para saber mais sobre a sintaxe e os parâmetros do comando, consulte a documentação do Atlas CLI para failover de clusters do atlas.

Você pode usar o Test Failover API ponto de extremidade para simular um evento de failover. Para saber mais sobre o processo de failover, consulte Testar o processo de failover.

Para realizar um teste do failover primário usando a IU do Atlas:

  1. No Atlas, acesse a página Clusters do seu projeto.

    1. Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.

    2. Se ainda não estiver exibido, selecione o projeto desejado no menu Projects na barra de navegação.

    3. Na barra lateral, clique em Clusters sob o título Database.

      A página Clusters é exibida.

  2. Para o cluster em que você deseja realizar testes de failover, clique no botão ....

  3. Clique em Test Resilience.

  4. No modal Test Resilience, clique na aba Primary Failover. O Atlas exibe as etapas necessárias para simular um evento de failover. Para saber mais, consulte Teste o processo de failover.

  5. Clique em Restart Primary para iniciar o teste. O Atlas exibe os resultados do seu processo de failover simulado no modal Test Resilience.

Para verificar se o failover foi bem-sucedido:

1
  1. Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.

  2. Se ainda não estiver exibido, selecione o projeto desejado no menu Projects na barra de navegação.

  3. Na barra lateral, clique em Clusters sob o título Database.

A página Clusters é exibida.

2
  1. Clique no nome do cluster para o qual você realizou o teste de failover.

  2. Observe as seguintes alterações na lista de nós na guia Overview:

    • O nó PRIMARY original agora é um nó SECONDARY.

    • Um antigo nó SECONDARY é agora o nó PRIMARY.

Se o seu aplicativo não lidar com o failover normalmente, certifique-se do seguinte:

  • Você está usando o Formato de Conexão SRV.

  • Você está usando a versão mais recente do driver.

  • Você implementou a lógica de nova tentativa apropriada em seu aplicativo.