Autores:
Daniel de Castro e Silva
201115567
201101881
201202034
201201860
2015
Balanceamento de Carga
fazer com que vrios servidores apaream como um nico servidor, distribuindo de
forma transparente os pedidos dos utilizadores entre os servidores. O balanceamento de
carga impede que as paralisaes planejadas para manuteno de hardware ou software
interrompam o servio para os utilizadores finais e tambm pode fornecer servios de
recuperao de desastres, redirecionando as solicitaes de servio para um local de
backup quando uma falha catastrfica desativa o site principal.
As duas categorias de implementao de balanceamento de carga no servidor
so:
Inicialmente uma organizao pode comear com uma arquitetura simples, como
a exemplificada na figura seguinte, que pode responder s expectativas de desempenho
iniciais. Porm, com o aumento do volume de requisies, a camada de aplicao deve
adaptar-se para manter o bom desempenho. Usando como exemplo uma empresa que
utilize uma soluo de base de dados como o SQL Server em um ambiente do tipo Web
Farm e que tambm tem opo de acesso aos dados em ficheiros, como as tabelas do
Visual FoxPro ou Jet(Acess) e as tabelas so mantidas em uma localizao centro e
acessvel via LAN, temos a seguinte estrutura:
Comutao do nvel 7
A comutao o nvel 7, tambm conhecida como "comutao de pedidos",
"comutao de aplicaes" ou "encaminhamento de contedos, recebeu esse nome com
base no modelo OSI, indicando que o dispositivo comuta pedidos com base em dados
do nvel 7 (camada de aplicao). Um switch de camada 7 apresenta ao mundo exterior
um "servidor virtual", que aceita pedidos em nome de um nmero de servidores e
distribui esses pedidos com base em polticas que utilizam dados de aplicao para
determinar qual o servidor deve atender o pedido.
Isso permite que a infraestrutura de aplicaes possa ser ajustada
especificamente para atender a tipos especficos de contedo. Por exemplo, um servidor
pode ser ajustado para servir apenas imagens, outro para a execuo de scripting no
servidor como PHP e ASP e outro para contedo esttico, como HTML, CSS e
JavaScript.
Ao contrrio do balanceamento de carga, a comutao de nvel 7 no exige que
todos os servidores no grupo tenham o mesmo contedo. Na verdade, essa comutao
espera que os servidores tenham um contedo diferente, a partir disso, h a necessidade
de inspecionar os pedidos mais profundamente antes de determinar para onde devem ser
direcionados.
Distribuio Rotativa Ponderada: Esta uma verso avanada do RoundRobin, que leva em considerao as diferentes capacidades de processamento
de cada servidor. possvel atribuir manualmente um fator de desempenho
para cada servidor no grupo de destino gerando assim, uma sequncia de
programao de acordo com o peso do servidor. Os pedidos so ento
direcionados para os diferentes servidores de acordo com uma sequncia de
distribuio rotativa. Por exemplo, se o grupo de servidores composto por 2
servidores e um servidor capaz de lidar com o dobro da carga do outro, o
servidor mais poderoso recebe duas vezes o fator de desempenho e o
balanceador de carga atribui dois pedidos para o servidor potente para cada
solicitao atribuda ao mais fraco.
Geralmente, so estes os passos que ocorrem assim que feita uma consulta DNS:
1. Quando um cliente tenta acessar ao site, realizada uma pesquisa no
DNS local para determinar qual o endereo IP correspondente;
2. O pedido de endereo chega ao servidor de DNS autoritrio do domnio;
3. A primeira vez que esta consulta feita, o servidor DNS remoto pode
retornar todos os registros de endereos que ele tem para o site;
4. O servidor DNS local, em seguida, determina o endereo de registro para
retornar ao cliente;
8
Solues de DNS
Network Load Balancing - Microsoft
A soluo Network Load Balancing (NLB) da Microsoft uma implementao
baseada em software que executada em cada n de cluster usando um algoritmo de
hash que usa o endereo IP, ou endereo IP e a porta de um pedido e determina qual n
no cluster ir processar este pedido. Todos os ns no cluster recebem todos os pacotes
de trfego e a determinao de qual o n responsvel por responder feita atravs da
aplicao de um filtro para que apenas um n atenda esta solicitao.
O conceito por trs do NLB bastante simples: cada servidor em um cluster com
balanceamento de carga configurado com um endereo IP virtual, este endereo IP
configurado em todos os servidores que participam no cluster do balanceamento de
carga. Sempre que uma solicitao feita para este IP virtual, um driver de rede em
cada uma destas mquinas intercepta a solicitao para o endereo IP e reencaminha o
pedido para uma das mquinas do cluster com balanceamento de carga com base em
regras que podem ser configuradas para cada um dos servidores no cluster.
O software do NLB atua como um dispositivo de rede virtual, com seu prprio
endereo IP e os dispositivos reais (as portas Ethernet) so associados com o software
NLB. Em vez de utilizar e anunciar os endereos IP das portas, o sistema usa o endereo
IP do software NLB o que acaba fazendo com que o software NLB e seus pontos em
cada servidor sejam vistos pelos clientes como um dispositivo nico.
medida que novas mquinas so adicionadas ou removidas do cluster, o
algoritmo deve ser executado novamente num processo de reavaliao extremamente
importante chamado convergncia, para que o redirecionamento continue sendo feito da
forma correta. Tambm importante perceber que em momento algum possvel ao
NLB saber qual a carga em de cada n do cluster, pois ele no consegue determinar se a
utilizao da CPU de um n extremamente alta, ou se um n tem pouca ou nenhuma
memria disponvel para processar o pedido.
Se um n no cluster tiver alguma falha desses recursos, o NLB vai continuar a
enviar-lhe pedidos at que o n pare de enviar mensagens de pulsao (sincronizao),
neste momento em que o n automaticamente retirado do cluster. No entanto, se o n
continua a enviar as mensagens de pulsao, permanecer no cluster, embora possa estar
em um estado inutilizvel.
A fim de monitorizar o estado do cluster, todos os ns transmitem uma
mensagem de pulsao de 1500 bytes por segundo para todos os outros ns permitindo
assim que qualquer n no cluster possa facilmente determinar quando necessria uma
operao de convergncia.
O NLB fornece alta disponibilidade para aplicaes stateless, tais como
servidores Web, adicionando servidores adicionais medida que aumenta a carga e pode
ser usado com praticamente qualquer aplicao TCP ou UDP. O termo stateless se refere
s aplicaes que respondem a cada solicitao do cliente como uma operao isolada o
que significa que solicitaes tratadas antes de um pedido de determinado cliente no
tm nenhum impacto sobre a transao atual.A figura abaixo ilustra o uso do NLB:
10
Cada servidor no cluster totalmente independente, o que significa que deve ser
capaz de funcionar sem qualquer outro no cluster exceo da base de . Isso significa
que cada servidor deve ser configurado separadamente, mas no caso de alojar um site
esttico, todos os arquivos HTML e as imagens devem ser replicadas entre todos os
servidores.
H uma srie de benefcios significativos na implantao de uma soluo de
NLB, que so:
O NLB muito eficiente e pode fornecer um grande incremento de
desempenho de cada mquina adicionada ao cluster;
O NLB extremamente tolerante falhas. Muitas implementaes de
balanceamento de carga, como o Round Robin DNS (RRDNS), continuam a
enviar pedidos a servidores que "morreram" at que os administradores do
sistema reparem nesse fato e executem manualmente uma alterao de
configurao. Se qualquer mquina no cluster cair, o NLB ir reequilibrar as
solicitaes de entrada para os servidores ainda em funcionamento, lidando
assim com cenrios de fontes de alimentao queimadas, placas de rede
avariadas, falhas no disco rgido primrio, etc;
A escalabilidade da aplicao ilimitada, devido ao nvel de
redundncia, pode-se simplesmente instalar mais uma mquina no cluster para
que o processo de balanceamento passe a utilizar esta nova mquina;
O NLB funciona com qualquer aplicao que se baseie nos protocolos
TCP ou UDP. Isto significa que dentro de uma organizao podem ser
configurados uma variedade de clusters NLB, e cada um pode ter a sua prpria
funo especfica;
Uma das maiores vantagens da NLB a sua facilidade de uso. O NLB
instala apenas um componente de driver de redes sem absolutamente nenhuma
necessidade de hardware especial o que no s facilita a implementao de uma
soluo de balanceamento de carga, como tambm reduz significativamente os
custos.
11
12
13
Referncias Bibliogrficas
[1] Tecnologias e Tendncias no Ciberespao. Balanceamento de Carga (I). Disponvel
em: http://redes-e-servidores.blogspot.com.br/2011/03/balanceamento-de-carga-i.html.
Acessado em: 21 de abril de 2015.
[2] Tecnologias e Tendncias no Ciberespao. Balanceamento de Carga (II).
Disponvel em: http://redes-e-servidores.blogspot.com.br/2011/03/balanceamento-de-cargaii.html. Acessado em: 21 de abril de 2015.
14