2 de junho de 20266 min de leitura

Failover Controlado no Azure DocumentDB: Zero Perda de Dados em Migrações Planejadas

Abinav Rameesh

Azure

Banner - Failover Controlado no Azure DocumentDB: Zero Perda de Dados em Migrações Planejadas

O Azure DocumentDB tornou geral o Graceful Failover — um mecanismo de failover controlado que garante zero perda de dados em trocas de região planejadas. Diferente dos failovers automáticos que priorizam velocidade, este modelo é desenhado para cenários onde a integridade dos dados vem em primeiro lugar: migrações de workloads, validação de DR runbooks e manutenções programadas.

TL;DR: O Graceful Failover do Azure DocumentDB permite trocar a região primária de forma controlada, sem perda de dados, ao drenar a fila de replicação antes da promoção. Indicado para migrações planejadas, validação de DR runbooks e manutenções programadas. Exige replicação cross-region configurada e uso da connection string global. Não substitui o HA intra-região nem o Service-Managed Failover para cenários de indisponibilidade.

Nem toda troca de região ocorre por falha. Migrar sua workload primária para outra região da Azure ou antecipar-se a uma janela de manutenção programada são movimentos estratégicos que exigem um failover que priorize a integridade dos dados acima da velocidade. Com o Graceful Failover, você inicia uma promoção controlada do seu cluster réplica para leitura e gravação, e o serviço garante que todo write commitado no primary seja replicado antes da troca. Zero perda de dados e zero surpresas.

Como funciona o Graceful Failover?

A replicação cross-region do Azure DocumentDB mantém um cluster réplica em uma região secundária, sincronizado de forma assíncrona com o primary. Em condições normais, o réplica fica atrás do primary por poucos milissegundos — o suficiente para não impactar a performance de escrita, mas próximo o bastante para uma transição limpa.

Quando você dispara um Graceful Failover, o serviço executa uma sequência ordenada:

  1. Drena a fila de replicação — aguarda até que o réplica na Região B esteja totalmente atualizado com o primary.
  2. Promove o réplica na Região B a primary.
  3. Rebaixa o antigo primary na Região A para somente leitura e inverte a direção da replicação.
  4. Redireciona automaticamente a connection string global para o novo primary.

O resultado é uma troca de região limpa, com zero perda de dados. Sua aplicação continua operando contra a connection string global de leitura e gravação, que é atualizada automaticamente sem necessidade de alteração no código.

Qual o modo de failover escolher?

O Graceful Failover é uma das três formas de promover um cluster réplica a read-write. A tabela abaixo compara os modos:

Modo Gatilho Zero Data Loss Automático
Graceful promotion Usuário
Forced promotion Usuário
Service-managed failover Automático (Azure DocumentDB)

O Graceful Failover é a melhor escolha quando:

  • Você está executando uma migração planejada de região (comum em mudanças de tráfego de negócios).
  • Deseja validar seu DR runbook sem arriscar perda de dados.
  • Precisa se mover proativamente antes de uma janela de manutenção programada.

Em caso de indisponibilidade real da região primária, use Forced Promotion ou Service-Managed Failover. O Graceful Failover exige que o primary esteja acessível para drenar a fila — portanto não é adequado para cenários de outage.

Pré-requisitos para usar o Graceful Failover

  • Configure replicação cross-region com um cluster réplica em uma região secundária.
  • Utilize a connection string global de leitura e gravação na sua aplicação — ela será redirecionada automaticamente após a promoção.
  • Inicie o Graceful Failover via Portal do Azure ou programaticamente pela API de gerenciamento.

Nenhuma alteração no lado da aplicação é necessária além do uso da connection string global.

O panorama completo: HA intra-região e DR cross-region

O Graceful Failover atende trocas de região planejadas ou proativas, mas funciona em conjunto — e não como substituto — da alta disponibilidade intra-região (in-region HA). Veja como as camadas se complementam:

  • In-region HA: protege contra falhas de shard físico dentro da própria região primária, de forma automática, síncrona e com zero perda de dados.
  • Graceful Failover: oferece um caminho controlado e com zero perda de dados para mover sua workload primária para outra região nos seus próprios termos.
  • Service-Managed Failover: cobre o cenário não planejado, quando a intervenção humana não é rápida o suficiente.

Executar os três em combinação garante cobertura abrangente em todos os cenários de falha, em qualquer escala.

Como começar

A replicação cross-region e o Graceful Failover estão disponíveis em todas as regiões Azure que suportam Azure DocumentDB. Para mais detalhes, acesse: aka.ms/documentdb-graceful-failover.

Sobre o Azure DocumentDB

Azure DocumentDB é um serviço de banco de dados documental totalmente gerenciado para construir e modernizar aplicações compatíveis com MongoDB. Alimentado pelo motor open-source DocumentDB, ele combina APIs, ferramentas e workflows familiares com a segurança, escalabilidade e simplicidade operacional da Azure. Seja para desenvolver novos aplicativos ou migrar workloads MongoDB existentes, o Azure DocumentDB ajuda a começar rapidamente e escalar com confiança.

Perguntas Frequentes

  • O Graceful Failover elimina a necessidade de configurar alta disponibilidade intra-região?
    Não. O Graceful Failover foca em trocas de região planejadas. A alta disponibilidade intra-região (in-region HA) protege contra falhas de shard físico de forma síncrona e automática, com zero perda de dados. Ambos se complementam, não substituem.

  • Posso usar o Graceful Failover durante uma indisponibilidade real da região primária?
    Não. O Graceful Failover exige que a região primária esteja acessível para drenar a fila de replicação. Em cenários de outage, deve-se utilizar Forced Promotion ou Service-Managed Failover, que não garantem zero perda de dados.

  • Quais mudanças de aplicação são necessárias para usar o Graceful Failover?
    Nenhuma mudança no código da aplicação. Basta utilizar a connection string global de leitura e gravação fornecida pelo Azure DocumentDB. Após a promoção, ela é automaticamente redirecionada para o novo primary.

  • Como iniciar um Graceful Failover?
    Pode ser iniciado manualmente via Portal do Azure ou programaticamente pela API de gerenciamento. É necessário que a replicação cross-region já esteja configurada com um cluster réplica em uma região secundária.

  • O Graceful Failover oferece garantia de zero perda de dados?
    Sim. O serviço aguarda até que toda a fila de replicação seja drenada — ou seja, todos os writes confirmados no primary sejam replicados para o secondary — antes de promover o réplica. Isso garante que nenhum dado seja perdido durante a troca.


Artigo originalmente publicado por Abinav Rameesh em Azure DocumentDB Blog.

Gostou? Compartilhe:
Precisa de ajuda?Fale com nossos especialistas 👋
Avatar Walcew - Headset