Вы находитесь на странице: 1из 7

Criando um cluster de balanceamento de carga para servidores

web
Seg,14deJulhode201400:04

AvaliaodoUsurio:
Pior
Tweetar

FernandoBryanFrizzarin

/6
Melhor AVALIAR

Recomendar

Todo mundo quer criar um site de sucesso e atrair infinitos usurios, oferecer produtos e
servioseganharmuitodinheiro,masterumaquantidademuitograndedeacessopodefazer
comqueoservidorwebnosejacapazdedarcontadetodasasrequisiesdeacessoque
lhe so enviadas. A seu site de sucesso no estar disponvel a 100% dos usurios que
desejam acesslo, muito desistiro e tero a impresso de que o servio ruim, pois fica
indisponvelemmomentosdetrfegointenso,alsefoiosucesso!
H vrias maneiras de resolver esse problema, que tambm passa pela banda disponvel,
mas isso ficar para outro tutorial. Nesse vamos tratar de um jeito sem considerar fatores
externos,principalmentederede.
Uma das formas de tratar esse problema criar um cluster de balanceamento de carga.
Resumidamente, o cluster de balanceamento de carga algum agente de software ou
hardware recebe todas as requisies e repassa para um servidor, de um grupo de
servidores, que estiver com o menor trfego ou maior poder de processamento. Para o
usurio todo esse processo transparente, ele no faz a menor ideia de quem est
atendendosuasrequisies.
Ok,semmaisblablablaevamoscriarnossoprprioclusterdeLoadBalance!
Vou considerar que voc tem trs mquinas virtuais com o Debian em instalao mnima
disponveis em seu computador. Para ter uma ideia de como fazer isso leia Realizar uma
instalaomnimadoDebianemumamquinavirtual
Paraaconfiguraoderededasmquinasvirtuaisuseaemmodobridge(ponte)paraquedo
seucomputadorvoctenhaacessoaosservidoreswebqueserofeitos.

VerifiqueeanoteoendereoIPdecadaumadelasparaquevocpossaacesslasdepois.
ParaveroIPdassuasmquinasvirtuaisuseocomando:

1.

ifconfig

Uma das mquinas virtuais ser nosso elemento de balanceamento de carga e nas outras
duasiremossimularservidoresweb,queserooselementosbalenceados.
PrimeirocertifiquesedequeseuDebianestatualizado:
1.
2.
3.

aptgetupdate
aptgetdistupgrade
aptgetautoclean

SelecioneasduasmquinasquereceberooservidorwebeinstaleoApache:
1.

aptgetinstallapache2php5

Agora altere o arquivo index.html do diretrio /var/www/ para que possamos identificar qual
servidorqueatendenossasrequisies.
Nomeucasoireialterarocabealhodapgina,deItworks!paracolocaronomedoservidor,
nomeucaso:mquina01emumaemquina02emoutra.
Oarquivooriginaldeumdosservidores:

Oarquivoalterado:

Oresultado,acessandoamquinavirtualquecrieicomonomedeMAQUINA02:

TambmtenhominhaMAQUINA01:

Ok,temosdoisservidoresWEB,issoteralgumasimplicaes,masdepoisfalodisso.Agora
vamosfocareminstalarobalanceadordecargas.IremosusaroPOUNDparaisso.
O pound muito fcil de entender e de usar. Ele configura as mquinas (outros servidores)
em um cluster e trabalha com conexes de entrada HTTP. Quando a conexo aceita ele
mandaparaumadasmquinasdogrupo(cluster)paraquesejaatendida.
Ainstalaosimples:
1.

aptgetinstallpound

Entovemaconfiguraocriandoseeeditandoseoarquivo/etc/pound.cfg.Quenaverso
originalassim:

Vou dar um exemplo de configurao que atende aos meus testes, voc pode adequar da
maneiraderesolvaseusproblemas.
Daconfiguraooriginalaltereiasseguinteslinhas:

1.

Alive2

Essa linha determina de quanto em quanto tempo, em segundos, o balanceador de cargas


deveverificarosservidoresbalanceados.Nooriginalovalor30.
01.
02.
03.
04.
05.
06.
07.
08.
09.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.

ListenHTTP
Address192.168.2.229
Port80
xHTTP0
Service
BackEnd
Address192.168.2.238
Port80
End
BackEnd
Address192.168.2.164
Port80
End
Session
TypeCookie
IDloadbal_session
TTL300
End
End
End

Comesseblocofazemososeguinte:
O balanceador de cargas vai ouvir as requisies na porta 80 e no seu prprio IP. Essa
configuraointeressante,poisatrsdeumfirewallpodehaverredirecionamentodeportas.
Em xHTTP no permitimos documentos com cabealhos PUT e DELETE, apenas GET e
POST.Issoevitaalgunsproblemasdesegurana.
NasrieBackEnd especificamos quais sero os servidores web e em qual porta atendero
(80).
EmSessiondizemosqueocontroledesessoserfeitoporcookie,onomedocookieser
loadbal_sessioneotempodevidaserde300segundos.
Agoraprecisamoseditaroarquivo/etc/default/poundealteraralinha:
1.

startup=1

Originalmentealinhavemcomovalorzero,fazemosissoparaindicarqueopoundtemnova
configurao.
Parainiciaroservio:
1.

/etc/init.d/poundstart

OK, para testar abra seu navegador e asse o IP do balanceador de cargas. Hora voc
acessar a pgina da mquina 01 e hora acessar a pgina da mquina 02. Ou seja, o
balanceamentoestacontecendo.

Mas note que temos um problema a, no caso de um servidor deveramos ver a mesma
pgina,ouseja,osusuriosdevemacessaromesmositetransparentementeemrelaoao
servidor.

Bom,issofaclimoderesolver:coloqueoseusiteemumdiretriocompartilhadonaredee
faacomqueosservidoresApacheacessemoseusiteapartirdestelocal!

MOSTRAR OUTROS ARTIGOS DESTE AUTOR

Вам также может понравиться