Kamal proxy: múltiplas aplicações
O curso trata de rodar mais de uma aplicação num único servidor atrás do kamal-proxy. Mostra como a porta 443 é dividida pelo roteamento por hostname, como o Server Name Indication escolhe o certificado e como cada deploy atualiza uma entrada na tabela de roteamento do proxy. Depois examina o que as aplicações dividem: memória, disco, a rede Docker kamal, o kernel e o proxy. Termina com a conta de memória a fazer de antemão, os sinais de que é hora de separar e a ordem da separação.
O que você vai aprender
- ✓Rotear várias aplicações na porta 443 por hostname e Server Name Indication
- ✓Como o kamal-proxy mantém uma tabela de roteamento que cada deploy atualiza
- ✓Por que os nomes de serviço precisam ser diferentes e por que o proxy precisa da porta 80 para os certificados
- ✓Planejar a memória dos workers do Puma e do Postgres antes que o matador de falta de memória entre em ação
- ✓O que os contêineres isolam e o que as aplicações numa mesma máquina continuam dividindo
- ✓Os sinais e a ordem para levar as aplicações para servidores separados
Um servidor, duas aplicações
Um servidor com um endereço IP público tem uma porta 443, e duas aplicações querem essa porta. Como esse conflito se resolve é o assunto inteiro deste curso.
Ler a aula completa grátis →Currículo
7 aulasUm servidor, duas aplicações
Por que duas aplicações disputam uma porta 443 e como o roteamento por hostname com SNI resolve isso.
Como o roteamento funciona
Como o kamal-proxy roda separado das aplicações, atualiza entradas de roteamento a cada deploy e valida certificados na porta 80.
Os recursos que eles dividem
A memória como restrição principal, o matador de falta de memória, a divisão da CPU e a escolha do Postgres.
O isolamento que você não tem
O que os contêineres isolam, o que fica compartilhado e quando duas aplicações não deveriam dividir uma máquina.
Como seria uma segunda app aqui
Um olhar concreto sobre adicionar uma segunda aplicação a este servidor, as opções de banco e os riscos específicos.
Quando parar de dividir
Os sinais de que dividir o servidor deixou de compensar, o custo de separar e a ordem para fazer isso.
Juntando tudo
Uma revisão das ideias do curso e o desafio de implementar fits_in_memory?, a conta de memória do servidor compartilhado.