Balanceamento de carga em rede (NLB- Network Load Balancing)


O Balanceamento de carga em rede NLB (Network Load Balancing) e a ferramenta da Microsoft Windows destinado a efetuar o balanceamento de carga do tráfego TCP/IP de entrada possibilitando que as aplicações de servidor da internet tenham melhoria na indisponibilidade e escalabilidade, como por exemplo: servidores
Web, Proxy, Firewall, etc.

O Balanceamento de carga em rede, distribui as solicitações dos clientes em vários servidores, permitindo a existência de escalabilidade e gerando uma grande capacidade de receber solicitações de serviços e aplicativos do cliente, o balanceamento de carga de rede distribui o tráfego TCP/IP entre vários servidores web, que constituem um Web farm. Pode-se combinar até 32 servidores que executam o Windows Server em único cluster, onde podem ser incluídos hosts sem precisar desligar o cluster. Em cada host é carregado o algoritmo de mapeamento estatístico onde é utilizado pelos mesmos para determinar qual host está identificando cada requisição de entrada.

Caso ocorra uma falha em um dos hosts ou houver um host indisponivel, o balanceamento de carga de rede reconfigura automaticamente o cluster e redireciona o cliente subseqüente para hosts que ainda estão ativos. As conexões de cliente abertas serão finalizadas quando o host falhar, ao repetir a solicitação, a conexão do cliente é roteada para um host ativo.

O NLB permite que todos os computadores no cluster sejam endereçados pelo mesmo conjunto de endereços IP, enquanto mantêm os IPs dedicados existentes. De forma transparente é distribuído às solicitações dos clientes entre os hosts do cluster usando endereços virtuais de protocolo IP. O balanceamento de carga de rede fornece a opção para especificar que todas as conexões do mesmo endereço IP de cliente sejam tratadas por um determinado host a não ser que ocorra falha neste.

Em um conjunto de servidores web, onde é utilizado o balanceamento de carga de rede, cada host está em comunicação constante com todos os outros, onde e feito a troca de estatísticas de desempenho e a divisão das responsabilidades de identificar as solicitações de entrada. Cada solicitação que chega é vista por cada host, e o
balanceamento de carga de rede tem seu próprio algoritmo para determinar que servidor irá tratar cada solicitação. Os clientes não conseguem distinguir o cluster de um servidor único, no cluster o serviço permanece ininterrupto mesmo em caso de falha de um host do cluster.

Os hosts no cluster respondem simultaneamente a solicitações de clientes diferentes, mesmo a vários pedidos do mesmo cliente. Como exemplo, um browser para a Web pode obter cada uma das várias imagens numa única página Web, a partir de diferentes hosts dentro de um cluster com balanceamento de carga em rede. Isto
aumenta a velocidade do processamento diminuindo o tempo de resposta aos clientes.

O Balanceamento de carga em rede parte do princípio de que um host está a funcionar corretamente dentro do cluster desde que troque heartbeats com outros hosts de cluster. Se outros hosts não receberem uma resposta de qualquer membro ao longo de várias trocas de heartbeats, iniciam a convergência para redistribuir a carga que teria sido processada pelo host que falhou.

Conclusão

Pode-se observar que uma solução viável e de custo aceitável para aplicações que exigem um poder computacional maior que o oferecido pelos computadores convencionais é o uso de clusters, que é uma tecnologia capaz de substituir supercomputadores em aplicações, como: simulações, cálculos científicos entre outros.

Um cluster de balanceamento de carga é especialmente utilizado em serviços que precisam resolver diferenças de cargas provenientes de múltiplas requisições. Sem o balanceamento de carga pode ocorrer que dois ou mais servidores respondam uma mesma requisição prejudicando a comunicação.

Os clusters estão se tornando populares porque além de trabalhar de forma segura e transparente, resolvem problemas complexos a um custo menor do que supercomputadores.

Jaqueline Santos, Aline Lúcia, André Marques, Manoel Augusto, Renato Dórea,
Rodney Carlos, Éber Rodrigo – Faculdade de Tecnologia de Guaratinguetá (FATEC)

1 thoughts on “Balanceamento de carga em rede (NLB- Network Load Balancing)

  1. Pingback: Programando em .Net , no Linux !!? « Gestão em Segurança da Informação

Deixe um comentário