DEV Community

pcgustavo7
pcgustavo7

Posted on Edited on

Load Balancer (balanceador de carga) Como funciona?

Load Balancer (Balanceador de Carga)

Um Load Balancer (balanceador de carga) é um distribuidor de tráfego. Ele recebe as requisições de entrada dos usuários e as divide entre vários servidores.

Isso evita que uma única máquina fique sobrecarregada, ajudando a manter o sistema rápido, estável e disponível, mesmo quando muitas pessoas estão acessando ao mesmo tempo.

Como funciona?

De forma simples, podemos imaginar o funcionamento assim:

              👤 Usuário
                  │
                  ▼
          ┌─────────────────┐
          │  Load Balancer  │
          └────────┬────────┘
                   │
          ┌────────┼────────┐
          ▼        ▼        ▼
      🖥️ Servidor 🖥️ Servidor 🖥️ Servidor
           1          2          3
Enter fullscreen mode Exit fullscreen mode

O Load Balancer recebe a requisição e decide para qual servidor ela será encaminhada.

Por exemplo, se três usuários acessarem um site ao mesmo tempo, ele pode distribuir as requisições entre os três servidores:

Usuário 1 ──► Load Balancer ──► Servidor 1
Usuário 2 ──► Load Balancer ──► Servidor 2
Usuário 3 ──► Load Balancer ──► Servidor 3
Enter fullscreen mode Exit fullscreen mode

Dessa forma, o trabalho não fica concentrado em apenas uma máquina.

E se um servidor estiver com problema?

O Load Balancer também pode verificar se os servidores estão funcionando. Se um deles estiver indisponível, ele pode deixar de enviar novas requisições para aquela máquina.

                 Load Balancer
                      │
             ┌────────┼────────┐
             ▼        ▼        ▼
          🟢 Server  🟢 Server  🔴 Server
              1          2          3
                                  ↓
                            Não recebe
                            novas requisições
Enter fullscreen mode Exit fullscreen mode

Isso ajuda a evitar que o usuário seja direcionado para um servidor que está fora do ar.

Por que ele é importante?

O Load Balancer é muito utilizado em aplicações que possuem muitos acessos ou precisam de maior estabilidade.

Sem um balanceador:

1000 usuários
      │
      ▼
🖥️ Um único servidor
      ↓
   Sobrecarga
Enter fullscreen mode Exit fullscreen mode

Com um Load Balancer:

1000 usuários
      │
      ▼
⚖️ Load Balancer
   │    │    │
   ▼    ▼    ▼
 🖥️   🖥️   🖥️
Serv. Serv. Serv.
  1     2     3
Enter fullscreen mode Exit fullscreen mode

Assim, a carga de trabalho pode ser distribuída entre diferentes servidores.

Resumindo

Load Balancer é um componente que distribui as requisições entre vários servidores, evitando sobrecarga e ajudando a manter uma aplicação disponível e estável.

Ele funciona como um "organizador de tráfego", recebendo as requisições dos usuários e encaminhando cada uma para um servidor disponível.

Exemplo do dia a dia 🍔

Imagine um restaurante com três atendentes:

👥👥👥👥👥👥
     │
     ▼
👨‍💼 Organizador
     │
 ┌───┼───┐
 ▼   ▼   ▼
👨   👨   👨
At.  At.  At.
Enter fullscreen mode Exit fullscreen mode

O organizador distribui os clientes entre os atendentes para evitar que apenas uma pessoa fique responsável por todos.

No sistema, o organizador seria o Load Balancer e os atendentes seriam os servidores.

Top comments (0)