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
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 funcionaPerguntas 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