Todos os produtos
Search
Central de documentação

PolarDB:Três data centers em duas regiões

Última atualização: Jun 28, 2026

A arquitetura de três data centers em duas regiões implanta uma instância do PolarDB-X em dois data centers primários dentro de uma região e um data center secundário em outra região. Essa topologia oferece alta disponibilidade entre regiões com objetivo de ponto de recuperação (RPO) igual a zero e atende aos requisitos de recuperação de desastres dos níveis 4 a 6 do setor financeiro.

Este tópico descreve o funcionamento da arquitetura, os mecanismos subjacentes e as operações necessárias para gerenciá-la.

Versão compatível

Essa arquitetura requer o Apsara Stack DBStack V1.2.1 ou posterior.

Níveis de recuperação de desastres

Nível

Objetivo de tempo de recuperação (RTO)

RPO

Requisito de implantação

Nível 4

≤ 30 minutos

0

Recuperação de desastres entre zonas ou geográfica

Nível 5

≤ 15 minutos

0

Recuperação de desastres geográfica, com pelo menos uma réplica na região remota

Nível 6

≤ 1 minuto

0

Recuperação de desastres geográfica, com pelo menos duas réplicas na região remota

O PolarDB-X utiliza cinco réplicas baseadas no protocolo de consenso majoritário Paxos para alcançar RPO = 0 entre regiões. Se os data centers primários falharem completamente, a instância secundária remota restaurará o serviço dentro das restrições de RTO indicadas acima.

Como funciona

Uma instância do PolarDB-X nessa topologia executa cinco réplicas: quatro distribuídas entre dois data centers primários em uma região e uma em um data center secundário em outra região. A sincronização por maioria exige respostas de pelo menos três réplicas.

Nos data centers primários, as quatro réplicas se comunicam por redes locais de baixa latência. A sincronização por maioria geralmente é concluída em aproximadamente 1 milissegundo. A latência de rede entre os data centers primário e secundário é de cerca de 30 milissegundos, valor típico para conexões entre regiões em setores como o de serviços financeiros.

Quatro mecanismos garantem o funcionamento confiável dessa arquitetura:

Cenários de falha e respostas

Cenário de falha

Escopo

Resposta

Falha da réplica líder

Data centers primários

O sistema aciona uma nova eleição de líder. Um follower no mesmo data center tem prioridade para minimizar o redirecionamento de tráfego.

Falha da réplica follower

Data centers primários

Nenhuma ação necessária.

Falha da réplica follower

Data center secundário

Nenhuma ação necessária.

Falha de data center primário

Um dos dois data centers primários

O sistema rebaixa dinamicamente as cinco réplicas para três. Pode ocorrer sincronização entre regiões.

Falha do data center secundário

Quatro réplicas permanecem nos data centers primários. O desempenho do protocolo Paxos não é afetado.

Falha de ambos os data centers primários

Falha regional

Uma réplica permanece no data center secundário. Execute force_single_mode para iniciar essa réplica no modo de réplica única. Redirecione o tráfego de negócios para a instância secundária remota.

Falha do data center secundário

Falha regional

Nenhuma ação necessária.

Mecanismos principais

Mecanismo de eleição ponderada

O PolarDB-X aplica um mecanismo de eleição ponderada para que as reeleições de líder prefiram réplicas no mesmo data center e evitem latência desnecessária entre regiões.

Pesos de eleição das réplicas:

Data center Função da réplica Peso de eleição
Data Center Primário 1 Leader 9
Follower 7
Data Center Primário 2 Follower 5
Follower 3
Data Center Secundário Follower 1

Esse mecanismo tem duas partes:

  • Eleição ponderada otimista: Cada nó aguarda um atraso calculado antes de iniciar uma eleição de líder. O atraso é inversamente proporcional ao peso do nó; portanto, nós com maior peso iniciam as eleições primeiro.

  • Eleição ponderada obrigatória: Quando um novo líder detecta que não possui o maior peso entre todos os nós, ele entra em uma fase de abdicação em vez de aceitar gravações imediatamente. Durante essa fase, o nó envia sinais de heartbeat (por exemplo, a cada 1 ou 2 segundos). Se um nó com peso maior responder antes do fim da fase de abdicação, a liderança será transferida para esse nó.

Por exemplo, se o líder no Data Center Primário 1 falhar, o follower no mesmo data center (peso 7) terá prioridade sobre todos os outros e manterá o tráfego local.

Ajuste dinâmico da quantidade de réplicas

Quando um data center primário falha e restam apenas três réplicas, a sincronização por maioria deve incluir a réplica do data center secundário, o que adiciona aproximadamente 30 milissegundos de latência entre regiões. Utilize os comandos a seguir para ajustar a quantidade de réplicas e gerenciar essa compensação:

Transição

Comando

Observações

De cinco para três réplicas

downgrade_follower

Converte dois followers em learners

De três para cinco réplicas

upgrade_learner

Converte dois learners de volta para followers; certifique-se de que os logs de replicação estejam atualizados antes da atualização

De uma para três réplicas

add_follower

Adiciona novas réplicas como learners; elas são promovidas automaticamente a followers quando seus logs estiverem atualizados

Inicialização forçada de réplica única

Se ambos os data centers primários falharem, a única réplica restante no data center secundário não conseguirá atender sozinha ao requisito de consenso majoritário. Execute force_single_mode para forçar o sistema a entrar no modo de réplica única e colocar todas as réplicas follower em segundo plano, permitindo que a réplica restante atenda às solicitações.

Após a recuperação dos data centers primários, o PolarDB-X reconstrói o sistema distribuído de forma incremental:

  1. Adicione réplicas de uma para três: execute add_follower.

  2. Adicione réplicas de três para cinco: execute upgrade_learner.

Instância secundária remota

Em sistemas de banco de dados distribuídos, o progresso da replicação pode variar entre grupos Paxos durante uma transação distribuída. Sem coordenação, dados de uma transação parcialmente replicada poderiam aparecer na instância secundária e causar inconsistência transacional.

O PolarDB-X resolve isso usando nós de log de Change Data Capture (CDC) implantados na região remota. Esses nós classificam e reorganizam as transações distribuídas para garantir replicação atômica: nenhuma transação é confirmada parcialmente quando os dados são movidos da instância primária para a secundária. Essa garantia vale tanto para testes rotineiros de recuperação de desastres quanto para failovers reais.

Dois pontos de projeto regem o funcionamento da replicação e do failover:

  • Replicação da instância primária: A instância primária usa o protocolo Paxos entre regiões e exige respostas de pelo menos três réplicas. Como quatro réplicas estão nos data centers primários, a sincronização por maioria normalmente é concluída localmente. A réplica remota no data center secundário responde de forma assíncrona; portanto, a latência entre regiões não afeta o desempenho de gravação da instância primária.

  • Replicação da instância secundária: A instância secundária está na região remota. Os nós de log CDC replicam dados quase em tempo real entre as regiões. Pode haver latência de replicação, mas a replicação atômica de transações garante que a instância secundária nunca reflita uma transação parcialmente confirmada.

Operações e manutenção (O&M) comuns

Referência rápida: cenário para comando

Cenário

Ação

Falha de um data center primário

Execute downgrade_follower para reduzir de cinco para três réplicas

Recuperação dos data centers primários

Execute upgrade_learner para restaurar cinco réplicas

Falha de ambos os data centers primários

Execute force_single_mode para iniciar o modo de réplica única; redirecione o tráfego para a instância secundária

Recuperação do data center secundário após falha regional

Execute add_follower para adicionar réplicas e, em seguida, execute upgrade_learner

Crie uma instância com esta topologia

Ao criar uma instância do PolarDB-X, defina o parâmetro Topology como Three Data Centers Across Two Regions.

Visualize a topologia da instância

Na página Basic Information da instância, localize a seção Topology Information para ver os detalhes de zona de todos os recursos.

Executar um failover

Antes de começar

  • Agende o failover durante períodos de baixo tráfego para reduzir o impacto no desempenho de gravação.

  • Na página Basic Information, verifique a topologia atual e confirme qual data center designar como zona primária.

Etapas

  1. Faça login no console do PolarDB for Xscale.

  2. Na barra de navegação superior, selecione a região onde a instância de destino está localizada.

  3. Na página Instances, clique na aba PolarDB-X 2.0.

  4. Localize a instância de destino e clique em seu ID.

  5. Na página Basic Information, clique em Specify Primary Zone no canto superior direito da seção Topology Information.

  6. Na caixa de diálogo Specify Primary Zone, defina os parâmetros Data Center, Primary Zone e Switch Mode.

  7. Clique em OK.

Após o failover

Verifique se a seção Topology Information reflete a nova zona primária antes de retomar o tráfego normal de gravação.