Locks Distribuídos
Um conceito central de sistemas distribuídos que toda pessoa engenheira sênior precisa saber defender em voz alta.
Introdução
Locks Distribuídos faz parte do ferramental de Sistemas Distribuídos. Este capítulo esclarece o que é, qual problema resolve e quais são os trade-offs que transformam isso em uma decisão relevante para entrevistas — e não em um item de checklist. Use o quiz interativo e os desafios abaixo para sair do "já ouvi falar" e chegar ao "sei defender uma arquitetura que usa isso".
Por que existe
Todo conceito de sistemas distribuídos existe porque uma solução ingênua esbarra em um limite — um gargalo, um modo de falha ou uma brecha de correção. Locks Distribuídos é o padrão que os engenheiros usam exatamente nesse ponto. Entender a pressão que cria a necessidade de Locks Distribuídos é o que separa decorar o conceito de saber quando aplicá-lo.
Analogia
Pense em Locks Distribuídos como uma ferramenta especializada na bancada: não é a que você pega toda vez, mas quando o problema tem o formato certo, nada resolve de forma tão limpa. A habilidade está em reconhecer esse formato rapidamente.
Como funciona
No alto nível, Locks Distribuídos funciona fazendo uma troca deliberada: aceita um custo (complexidade, latência, consistência ou dinheiro) para ganhar uma propriedade que importa mais naquele momento (escala, disponibilidade, correção ou velocidade). Em uma entrevista, descreva isso como mecanismo + trade-off — o que faz e o que custa — e conecte com os outros conceitos de sistemas distribuídos que costumam aparecer junto.
Quando usar
Recorra a isso quando
- O problema que você está resolvendo tem claramente o formato que Locks Distribuídos otimiza.
- Você já identificou o gargalo ou o modo de falha específico que Locks Distribuídos ataca.
- A complexidade extra se justifica pela escala ou pela confiabilidade que você precisa.
Evite quando
- Uma solução mais simples já atende ao requisito — não adote Locks Distribuídos preventivamente.
- O custo de Locks Distribuídos (latência, consistência, esforço operacional) supera o benefício na sua escala atual.
Trade-offs
Vantagens
- Ataca diretamente um problema conhecido de sistemas distribuídos.
- Combina bem com os outros padrões desta seção.
Desvantagens
- Adiciona complexidade que precisa ser operada e compreendida.
- No contexto errado, as forças viram fraquezas.
O coração de Locks Distribuídos é um trade-off. Diga qual propriedade ele te dá e qual propriedade ele cobra, e você conseguirá raciocinar sobre isso em qualquer sistema — que é exatamente o que a pessoa entrevistadora está esperando ouvir.
Erros comuns
Fique atento a
- Aplicar Locks Distribuídos por padrão, em vez de responder a uma necessidade medida.
- Explicar o que Locks Distribuídos é sem articular o trade-off que ele carrega.
Pense como sênior
Visão de Engenheiro(a) Sênior
Pessoas sêniores discutem Locks Distribuídos a partir da pressão específica que o justifica e, na sequência, já nomeiam o custo. Esse enquadramento de dois lados é o sinal de entendimento real.
Visão de Engenheiro(a) Sênior
Conecte Locks Distribuídos aos conceitos vizinhos em Sistemas Distribuídos: as respostas interessantes estão em como os padrões se combinam, não em uma definição isolada.
Lembre-se
Locks Distribuídos é um trade-off, não um ganho de graça — sempre exponha os dois lados.
Lembre-se
Recorra a Locks Distribuídos em resposta a uma necessidade medida, nunca por reflexo.
Recordação ativa
Teste-se
You hold a Redis lock, but a GC pause makes you exceed the lock TTL; another worker acquires it. How do you prevent corrupting shared state?
Resumo
Locks Distribuídos é um padrão de sistemas distribuídos definido pelo trade-off que faz. Domine o problema que ele resolve, o mecanismo e o custo, e você conseguirá defender seu uso em uma discussão de arquitetura.
Pontos-chave
- Locks Distribuídos resolve um problema específico de sistemas distribuídos — saiba exatamente qual.
- Sempre associe o benefício ao seu custo.
- Aplique em resposta a um gargalo real, não por padrão.
Suas anotações
Salvo neste dispositivo