Load Balance (Balanceamento de Carga) - O Que É? - Celso Kitamura
Você já ouviu falar de Load Balance (Balanceamento de Carga)? Neste artigo vamos ver o que é esse troço!
Load Balance, como o nome já diz, é distribuir a carga entre um ou mais recursos. E isso é feito para otimizar seu uso, maximizar o desempenho, minimizar o tempo de resposta e evitar sobrecarga.
O Load Balance pode ser feito com vários tipos de recursos: computadores, enlaces de rede, discos rígidos, etc.
Mas neste artigo vamos nos concentrar em Load Balance de computadores, mais especificamente Servidores Web, ok?
O que é Load Balance em Servidores Web?
Imagine um site de e-commerce que resolve fazer uma promoção (de verdade) na Black Friday.
Se você já tentou aproveitar uma oferta de Black Friday logo no início já sabe o que acontece na virada do dia, né? Muitos clientes querendo o produto mas poucos conseguindo concluir a compra…
Isso acontece porque o servidor não aguenta o número grande de requisições que chegam nele. E para estes casos, onde a quantidade de usuários é maior que a capacidade da infra estrutura do sistema é que o Load Balance entra.
Como Funciona O Load Balance (Balanceamento De Carga)?
Colocando dois ou mais servidores para trabalhar em conjunto, dando conta do tráfego que chega no site de comércio eletrônico.
Todos os servidores que fazem parte do Load Balance devem estar com a mesma versão da aplicação instalada e precisamos também de um gerenciador para analisar e enviar tráfego para cada servidor.
Bem simples, né? Dá um pouco de trabalho configurar, mas nada de outro mundo. Vamos ver então quais as vantagens de desvantagens de se usar esta técnica?
Alta disponibilidade: Se não acontecer uma guerra nuclear, sua aplicação estará sempre no ar!
Posso fazer manutenção nos servidores sem que o sistema saia do ar, pois enquanto estiver mexendo em um servidor o outro estará atendendo os usuários.
Monitoração constante. Não é só subir os servidores e colocar o gerenciador para funcionar. Tem que ficar de olho constantemente.
Até pouco tempo atrás, o custo era um problema também, pois era preciso ter estes servidores fisicamente dentro do data center. Isso melhorou um pouco com os servidores virtuais, mas hoje podemos fazer tudo isso numa nuvem e colocar mais ou menos servidores no ar de acordo com a demanda. E pagamos apenas pelos servidores que estão funcionando.
O objetivo deste artigo não é fazer de você um especialista em Load Balance.
Muito pelo contrário, pois também não sou especialista nesta técnica. Mas é muito importante que um desenvolvedor saiba da existência dela, pois muitas vezes já fui surpreendido com algum cliente reclamando de que determinada correção feita no sistema as vezes funcionava e as vezes não funcionava. Depois de muito bater cabeça, fuçando no código, conferindo pacotes enviados, conversando com o departamento de TI do cliente, etc. descobrimos que o ambiente de produção dele tinha servidores em Load Balance e a atualização do pacote enviado havia sido aplicado apenas em um servidor.
Assim, a correção funcionava apenas quando o usuário era direcionado para o servidor atualizado. Quando ele era direcionado para o outro servidor, o erro continuava.