Carregando
0x50Lição 6 de 9

Coordene com líderes e consenso

Entenda o que o consenso resolve e por que os leases de líder exigem cuidado.

14 min Questionário com 5 perguntas
Ao final desta lição, você saberá
  • Descrever, em linhas gerais, consenso, eleição de líder e o risco de split brain.

Protocolos de consenso permitem que os nós concordem com uma sequência ordenada de decisões apesar de algumas falhas, sob suposições específicas, como a de que uma maioria consegue se comunicar. Os sistemas muitas vezes elegem um líder para simplificar as escritas, mas só a eleição não basta: um líder antigo pode continuar achando que está no comando depois de uma partição. Mandatos (terms), verificações de quórum e fencing tokens ajudam a rejeitar líderes desatualizados. O consenso não torna um sistema imune a falhas arbitrárias nem a atrasos de rede.

Raft e Paxos são famílias de protocolos de consenso com regras detalhadas de segurança (safety) e de progresso (liveness); sistemas em produção precisam implementar o protocolo inteiro, e não confiar só numa verificação de maioria.

Prática: divida um cluster

Experimente

Até 15 XP

Quem manda durante uma partição?

Clique num nó para passá-lo para o outro lado da divisão da rede e veja o que cada lado consegue fazer.

  1. Comece com 3 nós contra 2. O que o líder antigo acredita?
  2. Passe o líder antigo para o lado da maioria.
  3. Mude para 4 nós e divida-os em 2 e 2. Por que ninguém vence?
Tamanho do cluster (a maioria é 3)

Um lado da divisão

Tem maioria: pode confirmar gravações.

Estes nós elegem um novo líder em um termo maior.

Outro lado da divisão

Sem maioria: não pode confirmar gravações.

O líder antigo ainda acha que está no comando, mas nada do que ele grava é confirmado.

Clique em um nó para movê-lo para o outro lado.

Dois nós acreditam ser o líder. Isso só é seguro porque o líder antigo não alcança a maioria, e os fencing tokens o impedem de tocar em recursos compartilhados.

Prática: barre um líder desatualizado

Experimente

Até 15 XP

Como funciona um fencing token

Um líder ficou pausado por muito tempo e não sabe que foi substituído. Acompanhe o que acontece quando ele acorda.

Mensagem 1 de 5Previsões 0/0
Líder antigo
Líder novo
Armazenamento

Principais conclusões

  • O consenso depende de suposições explícitas sobre falhas e comunicação.

  • A eleição de líder precisa de proteção contra líderes desatualizados.

  • Uma verificação de maioria, sozinha, não é um algoritmo de consenso.

Quiz da aula

5 perguntas · aprovação com 4 acertos · até 50 XP

Ao passar, você conclui a aula e mantém sua sequência. As perguntas erradas voltarão em sessões de revisão.

Dúvidas sobre esta lição

Travou em algum ponto? Pergunte. Descobriu algo? Compartilhe. Explicar também é uma ótima forma de aprender.

Carregando publicações…