6.3. Replicação multi-líder e sem líder
Vários pontos de escrita trazem conflitos; quóruns w + r > n leem pelo menos uma cópia nova.
Resumo
- Multi-líder: um líder por região ou dispositivo; escrita local rápida e offline. Custo: conflitos de escrita.
- Sync engines e local-first: o app escreve no dispositivo e sincroniza depois (Google Docs, Figma, apps offline).
- Resolver conflitos: last write wins (perde dados), mescla manual ou CRDTs e transformação operacional (mescla automática).
- Sem líder (Dynamo, Cassandra): cliente escreve em várias réplicas. Quórum: n réplicas, w escritas, r leituras, w + r > n.
- Reparo: read repair e anti-entropia. Hinted handoff e sloppy quorum. Version vectors detectam escritas concorrentes.
Perguntas-chave
responda de cabeça, depois abraPor que last write wins é perigoso?
Entre duas escritas concorrentes, uma é descartada em silêncio, mesmo tendo sido confirmada ao cliente; relógios desajustados pioram.
O que um CRDT oferece?
Estruturas (contadores, conjuntos, texto) que mesclam escritas concorrentes de forma automática e convergem para o mesmo valor em todas as réplicas.
Por que w + r > n?
Os conjuntos de réplicas da escrita e da leitura se sobrepõem em ao menos uma, que tem o valor mais novo.
Exercícios de fixação
0/5 respondidas1.
Com n = 5 réplicas e w = 3, qual o menor r que satisfaz o quórum?
2.
Um app de notas precisa funcionar offline em celular e notebook e sincronizar depois. Que modelo de replicação ele usa na prática?
3.
Duas pessoas editam o mesmo parágrafo offline. O sistema quer mesclar sem perder nenhuma edição. Qual técnica?
4.
Numa leitura de quórum, uma réplica retorna valor antigo. O cliente grava o valor novo nela. Isso é:
5.
Para que servem version vectors em replicação sem líder?