System Design: teorema CAP
O curso trata do teorema CAP usando uma aplicação Rails com um único nó PostgreSQL. Começa mostrando por que o CAP não se aplica a um nó só e como os índices únicos sustentam as garantias. Em seguida, lê as definições e a prova, corrige cinco leituras erradas e separa a disponibilidade do CAP da disponibilidade operacional. As últimas lições tratam a replicação do PostgreSQL como um botão, comparam sistemas reais pelo custo do conflito e terminam numa tabela de comportamento por operação registrada num ADR.
O que você vai aprender
- ✓Por que um único nó PostgreSQL fica fora do CAP
- ✓As definições precisas de consistência, disponibilidade e tolerância a partição
- ✓Cinco leituras erradas do teorema e como corrigi-las
- ✓Disponibilidade do CAP versus disponibilidade operacional, e o papel da latência
- ✓A replicação síncrona do PostgreSQL como botão de consistência
- ✓A escolha do comportamento na partição por operação, pelo custo do conflito
O CAP não se aplica aqui
O teorema CAP trata de sistemas distribuídos. Esta aplicação não é um, e entender por quê já é boa parte de entender o teorema.
Ler a aula completa grátis →Currículo
7 aulasO CAP não se aplica aqui
Por que um nó PostgreSQL não sofre partição e como índices únicos garantem o que validações Ruby não garantem.
O teorema de fato
Definições de consistência, disponibilidade e tolerância a partição, a prova com dois nós e por que P não é escolha.
As leituras erradas
Cinco afirmações erradas sobre CAP, de "escolha dois de três" a "partições são raras", e seus estragos.
O que disponibilidade significa
A diferença entre disponibilidade do CAP e disponibilidade operacional, num cluster de quórum, e por que a latência fica fora.
Onde sistemas reais ficam
As configurações de replicação do PostgreSQL como botão de ajuste, sistemas reais comparados e a decisão pelo custo do conflito.
Usando sem invocar
Quatro perguntas de projeto aplicadas a sete operações desta aplicação, com o resultado registrado num ADR.
Juntando tudo: sete linhas
Revisão do teorema, do estado atual da aplicação, da tabela de sete linhas e dos hábitos para usá-la.