Trilha 6 · Sistemas Distribuídos · 1 página A4 · folha de revisão
6trilha

Sistemas Distribuídos

Folha de revisão · 5 aulas · dividir, copiar, concordar
Camada Zero
Consistent hashing~K/N movem
Chaves e nós no mesmo anel; cada chave vai pro próximo nó horário. Ao entrar/sair um nó, só ~K/N chaves mudam de lugar, não o mapa inteiro.
hash(chave) % anel // nó = próximo no sentido horário
Virtual nodesbalanceamento
Cada nó físico vira N pontos no anel. Espalha a carga uniforme e, quando um nó cai, sua fatia se redistribui entre vários vizinhos em vez de um só.
Replicação & quórumW+R>N
N réplicas; escrita confirma em W, leitura consulta R. Se W+R>N os conjuntos se sobrepõem e toda leitura enxerga a última escrita confirmada.
// N=3 forte W=2 R=2 // 2+2>3
Sync vs asynclatência × perda
Síncrona espera as réplicas e não perde dado, mas paga latência e trava se uma cai. Assíncrona responde rápido e arrisca perder o que ainda não copiou.
Replication lagread-your-writes
Réplica de leitura fica atrás da primária por milissegundos a segundos. O usuário grava, lê de outra réplica e não vê o próprio dado. Aí leia da primária.
Raft: eleiçãomaioria · term
Um líder por term; vence quem junta voto da maioria. Cada nó vota uma vez por term, então só um sai eleito e o cluster nunca tem dois líderes válidos.
Split votetimeout randômico
Se dois candidatos largam juntos, ninguém faz maioria e o term morre vazio. Timeout de eleição aleatório dessincroniza as tentativas e quebra o empate.
CAPC ou A na partição
Partição na rede acontece, não é opção. Durante ela você escolhe: recusar pra manter consistência, ou responder e arriscar dado velho pela disponibilidade.
CP vs APexemplos
CP (etcd, ZooKeeper): travam o lado minoritário pra não divergir. AP (Cassandra, Dynamo): respondem dos dois lados e reconciliam depois.
PACELCe o dia normal?
CAP só fala da partição. PACELC completa: Else, sem falha, ainda há um trade entre Latência e Consistência. Esperar todas as réplicas custa tempo.
Relógio físico menteclock skew
Cada máquina tem seu relógio e eles divergem (skew). Ordenar eventos por timestamp de wall-clock vira loteria: um evento posterior parece anterior.
Lamport vs vectorordem × causa
Lamport é um contador que dá ordem total, mas achata concorrência: A<B não prova que A causou B. Vector clocks guardam causalidade e detectam paralelo.
L: 7 < 8 // e daí? V: [2,1] ‖ [1,3] // concorrentes
Happens-before→ causal
A → B se A vem antes no mesmo processo, ou A é o envio e B a recepção da mesma mensagem. Sem essa relação, os eventos são concorrentes e a ordem é livre.
Camada Zero · cheatsheet · Trilha 6 · Sistemas Distribuídos camadazero · fundamentos para quem programa com IA