Arquitetura de software · Escala e desempenho · 5 min de leitura
Balanceador de carga
Distribui as requisições entre vários servidores para aguentar mais tráfego e continuar no ar quando um deles cai.
Arraste para o lado para ver o diagrama inteiro.
O que faz
Recebe todas as requisições e escolhe um servidor para cada uma. Assim dá para crescer horizontalmente (mais máquinas) e fazer deploy sem derrubar o serviço.
Algoritmos comuns
- Round robin: um de cada vez, em ordem.
- Menos conexões: o servidor mais livre recebe a próxima.
- Hash do IP ou da chave: o mesmo cliente cai sempre no mesmo servidor (afinidade de sessão).
- Pesos: servidores maiores recebem mais.
L4 x L7
Na camada 4 (TCP/UDP) ele só repassa conexões — rápido e simples. Na camada 7 (HTTP) entende a requisição e pode rotear por caminho, cabeçalho ou cookie, terminar o TLS e aplicar regras.
Em resumo
- Espalha a carga e tira servidores doentes de rotação.
- Permite escalar horizontalmente e fazer deploy sem parar.
- L7 roteia por conteúdo; L4 é mais simples e rápido.
- Prefira servidores sem estado para não depender de afinidade.