Load balancing: Kamal
O curso trata de rodar uma aplicação em mais de um servidor com o Kamal. Ele separa capacidade de disponibilidade e estima a capacidade com a conta de vagas de requisição. Mostra como o Kamal faz deploy em vários hosts sem oferecer balanceador de carga, e compara DNS round-robin, balanceador dedicado e provedor de borda. Levanta o que precisa ser compartilhado entre servidores: sessões, uploads, cache e jobs. Explica ainda por que sessões fixas escondem falhas e como as conexões e um único Postgres limitam o arranjo.
O que você vai aprender
- ✓A diferença entre capacidade e disponibilidade como motivos para um segundo servidor
- ✓Como o Kamal faz deploy em vários hosts, e o que fazem papéis e acessórios
- ✓Comparação entre DNS round-robin, balanceador dedicado e provedor de borda
- ✓Qual estado precisa ser compartilhado entre servidores, e por que uploads em disco quebram
- ✓Por que sessões fixas criam problemas de confiabilidade, e quando são legítimas
- ✓Limites de conexões do banco, PgBouncer e o banco como ponto único de falha
Quando um servidor deixa de bastar
Balanceamento de carga é a resposta a uma pergunta que você deveria conseguir formular como um número, e formulá-la é mais da metade do trabalho.
Ler a aula completa grátis →Currículo
7 aulasQuando um servidor deixa de bastar
Separa capacidade de disponibilidade, estima a capacidade de requisições pela aritmética e lista opções mais baratas que um segundo servidor.
Como o Kamal espalha o tráfego
Mostra como o Kamal faz deploy em vários hosts, o que fazem papéis e acessórios, e a ausência de balanceador.
Onde o balanceamento acontece
Compara DNS round-robin, balanceador de carga dedicado e provedor de borda quanto a verificação de saúde, custo e falhas.
O que precisa ser compartilhado
Levanta sessões, uploads, cache e jobs para achar o que quebra quando o estado fica local a um servidor.
Sessões fixas e por que não
Explica como funcionam as sessões fixas, por que trocam problemas de correção por falhas de confiabilidade e quando são legítimas.
O banco por baixo
Trata da conta de conexões, do PgBouncer e seus efeitos colaterais, e do banco como ponto único de falha.
Juntando tudo
Revisa o curso em cinco pontos e propõe implementar capacity_check para vagas, requisições por segundo e conexões.