Balanceamento de Carga por hardware
Um dispositivo de hardware para balanceamento de carga, também conhecido como um router de camada de 4-7, é uma appliance que é usada para dividir a carga da rede por vários servidores com base em factores tais como a utilização dos processadores, o número de ligações ou o desempenho geral do servidor.
O uso de uma appliance deste tipo minimiza a probabilidade de qualquer servidor ser sobrecarregado e optimiza a largura de banda disponível para cada computador ou terminal. Além disso, o uso de hardware para balancear a carga pode minimizar quebras de rede, facilitar a priorização de tráfego, fornecer monitorização de aplicações, fornecer autenticação de utilizadores, e ajudar a proteger contra actividades maliciosas tais como ataques de negação de serviço (DoS).
O princípio básico é que o tráfego de rede é enviado para um endereço IP partilhado, chamado IP virtual (VIP) e este está atribuído ao balanceador de carga. Assim que o balanceador de carga recebe uma solicitação neste VIP terá que tomar uma decisão sobre para onde encaminhá-lo e esta decisão normalmente é controlada por um algoritmo de balanceamento de carga, uma verificação do estado do servidor ou um conjunto de regras.
O pedido é então enviado para o servidor apropriado e este produzirá uma resposta que, dependendo do tipo de balanceador utilizado, será enviada ou para o balanceador de carga, no caso de um dispositivo de Camada 7, ou, mais geralmente com um dispositivo de Camada 4, directamente para o utilizador final (normalmente através de seu default gateway).
No caso de um balanceador de carga por proxy, o pedido do servidor web pode ser retornado para o balanceador de carga e manipulado antes de ser enviado de volta para o utilizador. Esta manipulação pode envolver a substituição de conteúdo ou compressão e alguns dispositivos de topo de gama dispõem de total capacidade de processamento de scripts.
Algoritmos de Balanceamento de Carga
Os balanceadores de carga usam diversos tipos de algoritmos para controlar o tráfego com o objectivo específico de distribuir a carga de forma inteligente e / ou maximizar a utilização de todos os servidores no cluster.
Distribuição Aleatória
Numa distribuição aleatória, o tráfego é atribuído a um servidor escolhido aleatoriamente entre o grupo de servidores de destino. Neste caso, podem ser atribuídas muito mais solicitações a um dos servidores, enquanto os outros servidores estão de parados. No entanto, em média, cada servidor recebe uma quota aproximadamente igual de carga devido à selecção aleatória. Embora simples de implementar, pode levar à sobrecarga de um servidor ou mais e simultaneamente à subutilização dos outros.