SQL Academy · Aula

Failover e eleição do líder (Patroni, Stolon)

Use Patroni ou Stolon para realizar failover automático e configure o quórum para evitar o cenário de cérebro dividido.

Aula 3 de 415 etapas

Failover e eleição do líder (Patroni, Stolon) é uma aula grátis de SQL Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de SQL Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de SQL Academy inclui 4 aulas no total.

Por que automatizar a comutação?

A comutação manual é lenta e sujeita a erros. As ferramentas detectam a falha do primário e promovem uma réplica sem intervenção humana.

Etapas da comutação

O que precisa acontecer:

  1. Detectar que o primário está inativo (verificações de integridade e consenso)
  2. Escolher a réplica com o WAL mais recente
  3. Promovê-la (pg_promote / pg_ctl promote)
  4. Reconfigurar as outras réplicas para seguirem o novo primário
  5. Atualizar o roteamento de conexões da aplicação

Risco de cérebro dividido

Se a rede for particionada, você poderá promover uma réplica enquanto o primário antigo ainda estiver ativo. Dois primários → escritas conflitantes → corrupção de dados. Evite isso usando quórum.

Patroni

Processo Python que usa um DCS externo (armazenamento de configuração distribuída) — normalmente etcd, Consul ou Zookeeper — para a eleição do líder:

# patroni.yml
name: pg1
scope: my_cluster
etcd:
  hosts: 10.0.0.10:2379,10.0.0.11:2379,10.0.0.12:2379
postgresql:
  data_dir: /var/lib/postgresql/data

Como o Patroni escolhe o novo líder

O processo Patroni de cada nó compete para adquirir um bloqueio de líder no etcd. Apenas um pode mantê-lo; esse nó se torna o primário. Os demais o seguem.

Stolon

Alternativa baseada em Go. Usa um modelo de consenso semelhante, mas com características operacionais diferentes. Divide as responsabilidades entre os componentes sentinel, keeper e proxy.

repmgr

Ferramenta mais leve da 2ndQuadrant — menos automação e mais controle manual. É adequada para configurações menores.

Comutação gerenciada na nuvem

RDS, Cloud SQL e Aurora cuidam da comutação para você. Você troca flexibilidade por simplicidade operacional.

Roteamento de conexões após a comutação

As aplicações precisam saber qual é o novo primário. Opções:

  • Atualização de DNS (lenta devido ao TTL)
  • IP flutuante gerenciado pela ferramenta de comutação
  • Camada de proxy: HAProxy, pgbouncer + script ou endpoint do AWS RDS

Replicação síncrona e comutação

Um standby síncrono garante que não haja perda de dados. Combine-o com a comutação automatizada para obter a HA mais robusta.

Quórum

Para a replicação síncrona, defina synchronous_standby_names com quórum: ANY 2 de 3 réplicas precisam confirmar. Isso tolera uma réplica lenta ou com falha sem bloquear as confirmações de transações.

synchronous_standby_names = 'ANY 2 (replica1, replica2, replica3)'

Leia o que você escreveu

Após uma comutação ou com atraso de replicação, uma aplicação pode escrever no novo primário e imediatamente ler dados desatualizados de uma réplica. Direcione as leituras posteriores às escritas para o primário ou use o rastreamento de pg_last_wal_replay_lsn.

Testando a comutação

Faça um teste antes de precisar dele. Derrube o primário no ambiente de preparação todos os meses. Pratique o procedimento operacional. O estresse de uma comutação real já é grande; surpresas tornam tudo pior.

Recapitulação

A comutação automatizada remove as pessoas de um caminho crítico.

  • Patroni e Stolon para ambientes autogerenciados
  • RDS e Cloud SQL para ambientes gerenciados
  • Cuidado com o cérebro dividido — use quórum
  • Pratique a comutação regularmente

Verificação rápida

O que é um "cérebro dividido" no contexto da replicação do PostgreSQL?

Grátis para começar

Aprenda SQL com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
46
Aulas
183

Perguntas Frequentes

A aula “Failover e eleição do líder (Patroni, Stolon)” é grátis?

Sim — o texto completo de “Failover e eleição do líder (Patroni, Stolon)” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de SQL Academy, atualize para CoddyKit PRO. O curso de SQL Academy inclui 4 aulas no total.

O que vou aprender em “Failover e eleição do líder (Patroni, Stolon)”?

Use Patroni ou Stolon para realizar failover automático e configure o quórum para evitar o cenário de cérebro dividido. Você pratica SQL Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar SQL Academy?

Nenhuma experiência prévia é necessária. SQL Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.

Quanto tempo leva a aula “Failover e eleição do líder (Patroni, Stolon)”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de SQL Academy?

Sim. Cada aula de SQL Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Replicação em fluxo e WAL
  2. Replicação lógica para fragmentação
  3. Failover e eleição do líder (Patroni, Stolon)
  4. Réplicas de leitura e roteamento de conexões
← Voltar para SQL Academy