Arquitetura: banco de dados multi-região
O curso parte de uma aplicação Rails que roda num único VPS, com o Postgres e os arquivos enviados no mesmo disco, e pergunta o que uma segunda região exigiria. Trata da física da latência entre continentes, de quatro medições a fazer antes de construir qualquer coisa e do motivo de o armazenamento de objetos e o CDN virem primeiro. Depois aborda réplicas de leitura no Rails, defasagem de replicação, quatro modelos de consistência com CAP e PACELC e um plano em passos, com o ponto de parada de cada um.
O que você vai aprender
- ✓Encontrar todo lugar onde a aplicação guarda estado antes de replicar
- ✓Medir RTT, idas e voltas por página, fatia do banco e proporção leitura/escrita
- ✓Configurar uma réplica de leitura no Rails e decidir quais bancos ficam regionais
- ✓Lidar com a defasagem de replicação, a leitura das próprias escritas e os jobs
- ✓Escolher o modelo de consistência por operação, entendendo CAP e PACELC
- ✓Ordenar o trabalho: armazenamento de objetos, CDN, cache de borda e só então réplica
Um VPS, uma região
Perguntas sobre multi-região ficam mais fáceis de responder a partir de um ponto de partida conhecido. Aqui está o desta aplicação, tirado do config/deploy.yml.
Ler a aula completa grátis →Currículo
7 aulasUm VPS, uma região
Mapeia a topologia de um único VPS, aponta os arquivos enviados como primeiro bloqueio e compara latências.
Meça antes de replicar
Apresenta quatro medições a fazer antes de replicar e explica por que CDN e cache de borda vêm antes.
Réplicas de leitura
Configura uma réplica de leitura no Rails, decide quais dos quatro bancos lógicos replicar e lista os custos.
O problema da defasagem
Explica a defasagem de replicação, a falha de ler as próprias escritas, a janela de atraso e os jobs.
Modelos de consistência
Compara quatro modelos de consistência, esclarece o CAP e o PACELC e escolhe um modelo para cada operação.
O que esta aplicação faria
Traz um plano em ordem, da medição a um servidor na segunda região, indicando quando parar em cada passo.
Juntando tudo: três fatos
Revisa os fatos medidos, os argumentos e os hábitos do curso, e por que esta aplicação precisa sobretudo de CDN.