É o processo de distribuir requisições de usuários de forma inteligente entre múltiplas instâncias de um serviço, como uma aplicação MVP, por exemplo. Garantindo:
- 🔁 Alta disponibilidade (se uma instância falhar, outras continuam funcionando)
- ⚡ Melhor desempenho (divide o tráfego, evita sobrecarga em uma única instância)
- 📈 Escalabilidade horizontal (pode adicionar/remover instâncias conforme a demanda)
Em outras palavras: em vez de o usuário bater sempre no mesmo servidor, ele passa primeiro por um "porteiro inteligente" que direciona para uma das réplicas disponíveis.
⚙️ Como funciona
Quando um cliente (navegador, app, etc.) envia uma requisição para o sistema, o Load Balancer atua como um intermediário que decide para qual instância da aplicação essa requisição será direcionada
📊 Exemplo prático:
Usuário → Load Balancer → Instância 1
→ Instância 2
→ Instância 3
Analogia simples:
Pensa num restaurante com 5 garçons (servidores de aplicação). Ao invés dos clientes (usuários) escolherem um garçom direto, existe um host na entrada (o load balancer) que direciona cada cliente para um garçom disponível.
Isso:
- evita que todos corram pro mesmo garçom
- garante que todos sejam atendidos rápido
- permite que você tire um garçom pra descansar sem afetar o atendimento