Consistência, Replicação e CAP
Não se preocupe se essas palavras parecerem assustadoras — vamos explicar cada uma ao longo do caminho. Nesta lição, vamos aprender a falar em uma entrevista sobre algumas ideias básicas: replication (replicação — manter cópias dos mesmos dados em vários lugares, para que se uma máquina falhar exist
System Design (planejar como construir softwares grandes que atendem muitas pessoas) é como planejar uma cidade: ruas, armazenamento, semáforos e equipes de manutenção, para que a cidade continue funcionando bem mesmo no horário de pico, quando todo mundo está na rua ao mesmo tempo.
- Consistência e replicação
- A ideia central desta lição: como mantemos cópias de dados (replication), quantas cópias precisam concordar (quorum), por que às vezes as cópias só se atualizam depois de um momento (eventual consistency), qual trade-off escolhemos durante um problema de rede (CAP), e como trocamos para um backup automaticamente quando algo falha (failover).
- Trade-off
- Trade-off — uma escolha consciente em que você ganha uma coisa e paga por ela com outra, como escolher fast food em vez de uma refeição caseira: você economiza tempo, mas perde um pouco de qualidade. Em uma entrevista, você explica o que ganhou e o que custou.
- Métrica operacional
- Uma métrica operacional — um número que mostra se a decisão realmente funciona quando o sistema está no ar e atendendo usuários reais (isso é chamado de produção). Por exemplo: latência (quanto tempo leva para obter uma resposta), taxa de erro (a proporção de requisições que falham), atraso de fila (quantas tarefas estão esperando na fila), taxa de acerto do cache (quantas vezes encontramos a resposta na memória rápida), entre outros.