Load Balancing: Como Funciona, Explicado de Forma Simples

Load balancing — balanceamento de carga — é um daqueles conceitos que parecem complicados mas têm uma ideia central muito simples: distribuir o trabalho por vários servidores para que nenhum fique sobrecarregado. É a peça que permite a um site aguentar muitos visitantes e continuar online mesmo quando um servidor falha. Vamos perceber como funciona, sem tecnicismos.

Uma analogia para começar

Imagine um supermercado com uma só caixa. Enquanto há poucos clientes, tudo corre bem. Mas numa hora de ponta forma-se uma fila enorme, e se a empregada adoecer, ninguém é atendido. Agora imagine o mesmo supermercado com várias caixas e alguém à entrada a encaminhar cada cliente para a caixa mais livre. As filas desaparecem, e se uma caixa fechar, as outras continuam. Esse "alguém à entrada" é, no mundo dos servidores, o balanceador de carga.

O que faz um balanceador de carga

O balanceador de carga fica "à frente" de vários servidores que servem o mesmo site. Quando chega um visitante, é o balanceador que decide para qual servidor o enviar. As suas duas funções essenciais:

  • Distribuir o tráfego de forma equilibrada, para que nenhum servidor fique sobrecarregado enquanto outros estão folgados.
  • Verificar a saúde dos servidores e deixar de enviar visitantes para qualquer um que tenha falhado, redirecionando-os para os que estão a funcionar.

Para o visitante, tudo isto é invisível: ele escreve o endereço do site e recebe a página, sem fazer ideia de qual dos servidores o atendeu.

Como decide para onde enviar cada visitante

Existem vários métodos de distribuição, e a escolha afeta o comportamento do sistema:

  • Rotação (round-robin) — envia cada novo visitante para o servidor seguinte, à vez. Simples e eficaz.
  • Menos ligações — envia para o servidor que está a atender menos pessoas no momento, equilibrando melhor a carga real.
  • Por desempenho — tem em conta a capacidade ou a resposta de cada servidor.
  • Por sessão — garante que um mesmo utilizador continua a ser atendido pelo mesmo servidor quando isso é necessário (por exemplo, durante uma compra).

O método certo depende do tipo de site e do que ele precisa.

Os dois grandes benefícios

1. Capacidade: aguentar mais visitantes

Um só servidor tem um limite. Distribuindo a carga por vários, o site multiplica a sua capacidade — passa a aguentar picos de tráfego, campanhas e crescimento sem ficar lento ou cair. E acrescentar mais capacidade torna-se simples: junta-se mais um servidor ao conjunto.

2. Resiliência: não cair quando um falha

Como o balanceador deteta servidores em falha e os contorna, a avaria de um servidor deixa de derrubar o site. Os restantes assumem o trabalho, e os visitantes continuam a ser servidos. É a base da alta disponibilidade.

O que é preciso para o load balancing funcionar

Distribuir visitantes por vários servidores levanta uma questão: e os dados? Se um utilizador faz login num servidor, os outros precisam de reconhecer essa sessão; se faz uma encomenda, ela tem de estar acessível em qualquer servidor. Por isso, um sistema com load balancing bem feito requer que os servidores partilhem o estado e os dados de forma coerente — através de bases de dados centralizadas ou replicadas, sessões partilhadas e ficheiros sincronizados. É aqui que está a verdadeira engenharia, mais do que no balanceador em si.

Para quem faz sentido

O load balancing justifica-se quando o tráfego é elevado ou variável, quando o site é crítico para o negócio, ou quando se quer garantir que uma falha de servidor não derruba o serviço. Para um site pequeno e de baixo tráfego, pode ser desnecessário. Mas para uma loja online em crescimento, uma plataforma com muitos utilizadores ou qualquer serviço que não se pode dar ao luxo de cair, é uma peça fundamental.

No fundo, o load balancing é o que permite a um site escalar e resistir ao mesmo tempo — crescer sem ficar lento e continuar de pé quando algo falha. Bem desenhado, trabalha em silêncio nos bastidores, e o sinal de que está a funcionar é simplesmente um site que está sempre rápido e sempre disponível.

O seu site preparado para crescer e resistir

A Vuvo implementa load balancing e infraestruturas de alta disponibilidade para que o seu site aguente o tráfego e não caia quando um servidor falha. Capacidade e resiliência, bem desenhadas.

Ver load balancing e alta disponibilidade