Load balancing: Balanceamento de carga
Ao fazer balanceamento de carga (load balancing), acessos aos servidores podem ser distribuídos de forma uniforme entre diferentes recursos de hardware por meio de uma instância técnica chamada balanceador de carga (load balancer). Ele garante velocidades de acesso estáveis, o que é essencial para gerar leads e atrair clientes.
Hospedagem VPS poderosa e de baixo custo para rodar suas aplicações sob medida, com assistente pessoal e suporte 24 horas.
- Save 50% or more vs leading hosts
- Unlimited traffic & no setup fees
- 99.99% uptime guaranteed
- Free 24/7 premium support
O que é load balancing?
Load balancing é especialmente popular na tecnologia de servidores e descreve um procedimento no qual as solicitações são distribuídas em segundo plano (sem que os usuários percebam) entre diferentes servidores. O load balancer usado pode ser implementado como hardware ou software. Ele atribui diversos servidores a um mesmo domínio sem causar conflitos de endereço, sendo acessado através do domínio público.
Os servidores web subordinados são nomeados com os sufixos de domínio www1, www2, www3, etc. Dessa forma, o balanceamento de carga permite que um site esteja disponível sob o mesmo URL, mesmo que haja vários servidores por trás dele. Isso evita a sobrecarga do servidor, pois as solicitações externas são distribuídas entre diferentes computadores físicos dentro do cluster. Os usuários geralmente não percebem isso, pois a distribuição das solicitações ocorre com base em algoritmos complexos em segundo plano.
O load balancing também pode desempenhar um papel além dos servidores web, como em computadores que usam vários processadores. Nesse caso, o load balancer garante que as solicitações sejam distribuídas de maneira uniforme entre os diferentes processadores, gerando assim mais poder de processamento. Também em softwares de contêineres, como o Kubernetes, os load balancers são essenciais. Eles garantem que as cargas de trabalho sejam distribuídas de forma eficiente entre os diferentes Pods.
Como funciona o load balancing?
As solicitações a um servidor web, como acessos a páginas, passam inicialmente pelo load balancer. Este então realiza a distribuição da carga, direcionando o tráfego para diferentes servidores. O balanceador de carga pode ser realizado como hardware ou software, mas o princípio permanece o mesmo: a solicitação chega ao load balancer e, dependendo do procedimento utilizado, o dispositivo ou software direciona os dados para o servidor adequado.
A base técnica é o sistema DNS: os usuários acessam um site apenas por um URL. Esse URL é convertido em um endereço IP pelo DNS, que por sua vez aponta para o load balancer. Idealmente, esse processo passa despercebido pelos usuários.

Quais são as vantagens do load balancing?
Os três principais benefícios de um balanceador de carga bem implementado são os seguintes:
- Tempos de acesso otimizados: Ao distribuir o tráfego entre vários servidores, é possível alcançar tempos de acesso mais rápidos, mesmo com muitas solicitações simultâneas.
- Maior confiabilidade: O load balancer aumenta a segurança contra falhas, pois o tráfego de um servidor lento é automaticamente redirecionado para outros servidores no cluster. Se um servidor não estiver acessível, o site hospedado continuará disponível.
- Manutenção simplificada do sistema: O load balancing é um grande apoio na manutenção de um sistema de servidores. Configurações e atualizações podem ser realizadas durante a operação dos servidores, sem causar uma queda perceptível no desempenho. O load balancer detecta o estado de manutenção e redireciona as solicitações de maneira apropriada.
Quais são os métodos de load balancing?
Como as solicitações de entrada são distribuídas depende da escolha do algoritmo. Algoritmos populares para o balanceamento de carga incluem: Round Robin, Weighted Round Robin, Least Connections e Weighted Least Connections.
Round Robin
Round Robin é um processo circular no qual as solicitações são gerenciadas em uma fila e distribuídas sequencialmente entre os servidores disponíveis. Cada nova solicitação é atribuída ao próximo servidor na fila. Isso permite uma distribuição uniforme do tráfego dentro do cluster de servidores. No processo Round Robin, todos os processos são tratados igualmente, independentemente da urgência da solicitação ou da carga no servidor. Um load balancer que usa o princípio Round Robin é ideal para ambientes em que todas as instâncias possuem recursos aproximadamente iguais.
Weighted Round Robin
Os pontos fracos do algoritmo clássico Round Robin em clusters de servidores heterogêneos podem ser compensadas por uma versão ponderada do Round Robin. Nesse caso, as solicitações de entrada são distribuídas com base na ponderação estática de cada servidor. Essa ponderação é definida previamente pelo administrador.
Por exemplo, o servidor mais potente pode ser atribuído ao valor “100”, enquanto servidores menos eficientes recebem o valor “50”. Nesse tipo de configuração, o servidor com o peso “100” recebe duas solicitações a cada rodada, enquanto o servidor com o peso “50” recebe uma solicitação. O Weighted Round Robin deve ser utilizado principalmente quando os servidores no cluster possuem recursos distintos.
Least Connections
Ambos os algoritmos Round Robin não consideram quantas conexões os servidores subordinados devem manter por um determinado período. Isso pode fazer com que um servidor acumule várias conexões e acabe sobrecarregado, mesmo que ele mantenha menos conexões que outros servidores. O algoritmo Least Connections resolve esse problema. Ele distribui as solicitações com base no número de conexões ativas de cada servidor: o servidor com o menor número de conexões ativas recebe a próxima solicitação do load balancer. Esse método é recomendado para clusters de servidores homogêneos, onde todos os computadores têm recursos comparáveis.
Weighted Least Connections
Quando um cluster de servidores possui capacidades diferentes, deve-se usar um load balancing que, em vez de aplicar o algoritmo Least Connections, atue com base na distribuição ponderada de acordo com as conexões existentes. Dessa forma, leva-se em conta tanto o número de conexões ativas de um servidor quanto a ponderação definida pelo administrador. Isso garante uma distribuição equilibrada da carga dentro do cluster de servidores. Novas solicitações serão automaticamente atribuídas aos servidores cujo relacionamento entre conexões ativas e ponderação do servidor indique a menor carga atual.
Quais problemas podem surgir com o uso de load balancing?
Particularmente no setor de e-commerce, o load balancing frequentemente enfrenta problemas. Um exemplo: visitantes de um site preenchem o carrinho com itens que desejam comprar. Durante uma sessão, esses itens permanecem armazenados, independentemente da página que o visitante acessar no mercado online. Um load balancer normal, no entanto, distribuiria as solicitações entre diferentes servidores, o que poderia resultar na perda do conteúdo do carrinho.
Para resolver esse problema, existem duas abordagens possíveis. Uma delas é fazer o load balancer reagir ao endereço IP dos usuários, garantindo que as solicitações da mesma IP sejam sempre direcionadas ao mesmo servidor. Outra opção seria ler um ID de sessão da solicitação para determinar a qual servidor a solicitação deve ser enviada.
Por que load balancers são tão importantes?
Se você ganha dinheiro pela internet, seu negócio não pode se dar ao luxo de ter um servidor fora do ar. E se você usar apenas um servidor e ele falhar devido à sobrecarga, seu site não estará mais acessível para os potenciais clientes. Isso leva a vários problemas: primeiro, você não conseguirá gerar receita durante a sobrecarregada, já que serviços não poderão ser agendados e compras não poderão ser feitas. Além disso, a confiança dos (potenciais) clientes diminui. Isso é ainda pior quando ocorre uma sobrecarga do servidor durante o processo de compra, gerando insegurança nos usuários que não sabem se a ordem foi registrada no sistema.
Mas mesmo que você não ofereça um serviço diretamente pela internet, seu site deve estar sempre acessível. Ele é um dos principais canais para que os usuários obtenham informações. Se os clientes potenciais procurarem informações sobre sua empresa e não conseguirem acessar seu site, provavelmente irão procurar sua concorrência. Você pode minimizar esses riscos com um balanceador de carga.
Como implementar load balancing na sua empresa
O balanceamento de carga pode ser implementado tanto por soluções de hardware quanto de software em um servidor virtual. Pacotes profissionais completos são disponibilizados por diversos provedores, seja como Infrastructure-as-a-Service (IaaS) ou como um componente de rede para a própria infraestrutura de TI.
Como a aquisição de load balancers proprietários geralmente envolve altos custos, empresas menores frequentemente recorrem a soluções Open-Source como o NGINX. Este oferece uma maneira econômica de garantir alta disponibilidade do site da sua empresa ou de outros projetos web por meio de distribuição eficiente de carga dentro da rede de servidores. No setor de hospedagem na web, o load balancing também é frequentemente oferecido como um recurso adicional para servidores em nuvem.
Experimente seu vServer de graça agora - Teste um servidor virtual por 30 dias!
- Recursos dedicados
- Tráfego ilimitado
- Consultor pessoal

