É 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