Pergunta de entrevista para Engenheiro de Confiabilidade de Sites

O que é split brain num sistema em cluster, e como o quórum previne isso?

O que o entrevistador está avaliando, como estruturar sua resposta e um exemplo falado que você pode adaptar.

Resposta rápida

Split brain é quando uma partição de rede deixa duas metades de um cluster cada uma achando que é a líder, então as duas aceitam escritas e os dados divergem. Quórum previne isso exigindo maioria, N/2 mais 1, para eleger um líder ou confirmar uma escrita, e só um lado de uma partição consegue ter maioria. Use número ímpar de nós, fencing tokens, e nunca deixe uma partição minoritária servir escritas.

Por que os entrevistadores perguntam isso

Isso testa se você entende por que sistemas de consenso são construídos do jeito que são, o que importa no momento em que você opera etcd, ZooKeeper, Consul ou qualquer banco replicado. Entrevistadores escutam a aritmética da maioria, o motivo de um número par de nós ser pior que o ímpar abaixo dele, e fencing, já que um líder rebaixado ainda pode estar segurando um disco ou um lock.

Como estruturar sua resposta

  • Descreva o cenário de partição de forma concreta, com duas metades.
  • Explique a regra da maioria e por que só um lado pode tê-la.
  • Aponte que números pares de nós adicionam custo sem adicionar tolerância.
  • Cubra fencing para que um líder obsoleto não continue escrevendo.
  • Note o custo de disponibilidade: o lado minoritário precisa recusar escritas.

Exemplo de resposta

Exemplo falado, em primeira pessoa

Digamos que você tem cinco nós e um switch falha, então você acaba com um grupo de três e um grupo de dois que não se enxergam. Sem quórum, os dois grupos notam que o líder sumiu, os dois elegem o seu próprio, e agora você tem duas fontes de verdade aceitando escritas conflitantes, o que é genuinamente doloroso de reconciliar depois. Quórum significa que você precisa de três de cinco para eleger ou confirmar, então o grupo de dois simplesmente não consegue progredir e tem que recusar escritas. Essa é a troca: você compra consistência abrindo mão de disponibilidade no lado minoritário. Duas coisas que eu sempre checo na prática. Uma, use números ímpares, porque seis nós ainda precisam de quatro para o quórum e toleram as mesmas duas falhas que cinco, custando mais. Duas, fencing. O líder antigo pode não saber que foi rebaixado, então você precisa de fencing tokens monotônicos ou de locks no nível de armazenamento, senão um processo pausado acorda e escreve num volume que não é mais dele.

Vai encarar essa entrevista em breve? O GhostPilot escuta a sua chamada ao vivo, identifica a pergunta no instante em que ela é feita e coloca uma resposta estruturada na sua tela em tempo real. Teste na sua próxima entrevista simulada ou pegue um Session Pass de $29, sem assinatura, para a hora da verdade.

Veja como funciona

Perguntas de acompanhamento que você pode esperar

  • Por que um cluster etcd de cinco nós tolera só duas falhas?
  • Como você recuperaria um cluster que perdeu o quórum permanentemente?
  • O que é um fencing token e onde ele é imposto?

Mais perguntas para Engenheiro de Confiabilidade de Sites

Seu entrevistador vai fazer a própria versão desta. Cole a descrição real da vaga no Question Predictor gratuito e receba as 20 perguntas que essa vaga tem mais chance de fazer, com o que cada uma está de fato sondando.

Prever minhas perguntas

Ensaie as perguntas difíceis antes que elas apareçam

Pratique com um copiloto ao vivo e depois entre pronto. Um Session Pass de $29 te leva até o fim da entrevista, sem assinatura e sem amarras.

Instalar o GhostPilot