Arquitetura de software · Dados · 5 min de leitura
Teorema CAP na prática
Quando a rede se parte entre servidores, um sistema distribuído precisa escolher entre responder com dados possivelmente velhos ou recusar até se reconciliar.
Arraste para o lado para ver o diagrama inteiro.
O que o teorema diz
Entre Consistência (todos veem o mesmo dado), Disponibilidade (toda requisição recebe resposta) e tolerância a Partição (o sistema continua apesar de falhas de rede), durante uma partição você precisa abrir mão de C ou de A. Como partições acontecem, a escolha real é entre CP e AP.
Exemplos
- CP: saldo bancário, estoque com reserva — melhor recusar do que vender duas vezes.
- AP: curtidas, carrinho de compras — melhor aceitar e reconciliar.
O próprio Brewer lembra que a escolha pode ser feita por operação, não para o sistema inteiro, e que o teorema PACELC acrescenta a troca entre latência e consistência mesmo sem falhas.
Em resumo
- A troca só é obrigatória durante uma partição.
- CP recusa; AP responde e reconcilia.
- Escolha por operação, pelo custo do erro.
- Sem falhas, a troca é latência x consistência.