Sunteți pe pagina 1din 3

23-01-12

Balance de carga con HAPro

Maestros del Web


Un espacio para los entusiastas del web

Balance de carga con HAProxy


Cuando hablamos de Web nos referimos a un protocolo, HTTP y a distintas clases de contenidos que puede transportar ese protocolo como: imgenes, pelculas ash, o pginas en HTML. Sin embargo, HTTP no es el nico protocolo utilizado en la web y se basa en protocolos inferiores para su funcionamiento. De esta forma, HTTP no debe preocuparse por cmo llegar a una mquina, pues esa lgica de transporte la delega a los protocolos inferiores. Es necesario entender que por debajo de HTTP est el protocolo TCP y a nivel de TCP se habla de puertos, que sirven para identi car servicios en una misma mquina. Por debajo de TCP est el protocolo IP y a nivel del protocolo IP se habla de nmeros de IP, que sirven para diferenciar mquinas en Internet. Entonces, si se tiene un servidor web en 192.168.12.5:80, eso signi ca que el servidor podr ser contactado en la IP 192.168.12.5 y que escuchar en el puerto 80. De esta forma, se puede instalar otro servidor, de mail por ejemplo, en la misma mquina pero escuhando en otro puerto, 192.168.12.5:25. Es el IP quien lleva los paquetes, y dentro de la mquina, TCP el que entrega los datagramas al servidor correspondiente.

Problemas que soluciona el balance de carga


El problema a solucionar es la sobrecarga de los servidores. Se puede balancear cualquier protocolo, pero dado que este sitio se centra en las tecnologas web, el artculo trata exclusivamente de balancear servidores HTTP. Al mismo tiempo, si el balanceador detecta la cada de uno de los servidores web, puede optar por no enviarle ms peticiones. De esta forma, si uno de los servidores web se cae, las peticiones del cliente no se dirigen al servidor cado. Vemos que el balance de carga tambin contribuye a una infraestructura redundante y de alta disponibilidad (aunque no la asegura, el balance de carga por s mismo no alcanza para tener HA1 ). En este punto creo conveniente introducir los conceptos bsicos que se manejarn a lo largo del artculo: Balanceador: es un sistema, software o hardware, que distribuye las peticiones de los clientes de forma equitativa entre distintos servidores de backend. Servidor de backend: es un servidor (web en este caso), que responde la peticin del usuario. As el balanceador distribuye las peticiones y son los servidores de backend, quienes arman la respuesta efectiva al cliente. Para balancear la carga entre varios servidores es deseable que el mismo balanceador sea justo (fair), y que detecte servidores sobrecargados para dejar de enviarle peticiones hasta que no baje su carga. Este mismo mecanismo sirve para que un balanceador no enve peticiones a un servidor cado.
.maestrosdel eb.com/editorial/balance-de-carga-hapro / 1/3

23-01-12

Balance de carga con HAPro

Alternativas para balancear


La forma ms elemental de balancear la carga entre varios servidores esa utilizando el DNS. Por ejemplo, si buscamos la IP de www.yahoo.com.ar: $dgwwyhocma i w.ao.o.r ;< < DG970P < i ..-1 < wwyhocma w.ao.o.r ; goa otos +m ; lbl pin: cd ; Gtase: ; o nwr ; - HAE<-ocd:QEY sau:NERR i:291 ; EDR< poe UR, tts ORO, d 17 ; fas q r r;QEY 1 ASE:5 ATOIY 2 ADTOA:1 ; lg: r d a UR: , NWR , UHRT: , DIINL ; QETO SCIN ; USIN ETO: ;w.ao.o.r I A wwyhocma. N ; ASE SCIN ; NWR ETO: wwyhocma.74I CAEr.ao.o. w.ao.o.r 1 N NM cyhocm r.ao.o.17I CAEr.0.aodsnt cyhocm 2 N NM cg1yhon.e. r.0.aodsnt 22I CAEayr.0.aodsnt cg1yhon.e. 8 N NM n-ca1yhon.e. ayr.0.aodsnt 6I A26106.7 n-ca1yhon.e. N 0.9.03 ayr.0.aodsnt 6I A6.8.0.8 n-ca1yhon.e. N 8102614 ; ATOIYSCIN ; UHRT ETO: a1yhon.e.536I N y1yhocm 0.aodsnt 37 N S f.ao.o. a1yhon.e.536I N y2yhocm 0.aodsnt 37 N S f.ao.o. ; ADTOA SCIN ; DIINL ETO: y2yhocm 18 I A6.8.3.5 f.ao.o. 40 N 810101 ; Qeytm:2 me ; ur ie 5 sc ; SRE:204.3.05(0.9103) ; EVR 0.9103#3204.3.0 ; WE:TuFb1 2: ; HN h e 7 2 Vemos que, en definitiva, son dos los servidores que responden: 68.180.206.184 y 206.190.60.37. Este es el tipo de balanceo ms elemental que se puede hacer, y tiene una ventaja muy importante: simplicidad y e ciencia; ya que en principio lo nico que se necesitan son varios servidores con distintas IPs, por lo que es barato, simple y fcil de mantener. Sin embargo, el balance de carga por DNS tiene algunos inconvenientes. Por un lado, un balanceador puede tener en cuenta la carga de cada equipo y distribuir las peticiones seg n esas cargas, mientras que al balancear por DNS no se tiene en cuenta la carga de los equipos. Adems, si un servidor queda fuera de lnea, el balanceador de carga lo detecta y redirige las peticiones web a los otros servidores. Pero esto no ocurre cuando se balancea con DNS (excepto que la aplicacin sea consciente que se est balanceando y quiera probar con otro servidor, pero en este artculo hablamos de balance de carga transparente para la aplicacin). Por ltimo, la mayora de los balanceadores pueden mantener las sesiones de los usuarios, de forma que un usuario que inicia sesin en el servidor A siempre sea dirigido por el balanceador al mismo servidor A (de no hacerlo el usuario perdera la sesin). Sin embargo, el balance de carga por DNS es del tipo Round Robin, por lo que es casi seguro que el usuario pierda la sesin.
?

Una gua de 5 artculos


Esta es una gua de 5 artculos acerca del balance de carga para servidores web donde aprenders cmo configurar un balance de carga con HAProxy y para qu sirve. Revisa los siguiente pasos. 1. Balance de carga con HAProxy 2. Sesiones en el balance de carga con HAProxy
.maestrosdel eb.com/editorial/balance-de-carga-hapro / 2/3

23-01-12

Balance de carga con HAPro

3. Balance de carga con HAProxy: Instalaci n 4. Balance de carga con HAProxy: Configuraci n 5. Balance de carga con HAProxy: Prueba de instalaci n y conclusiones
T ittear Me gusta A 11 les gusta una pgina. Reg strate para ver qu les gusta a tus amigos.

Sobre el Autor
Matias Banchoff Emprendedor iniciando 3-ik y completando una licenciatura en Informtica en la U.N.L.P. Apasionado por las redes, los servidores y sin hacer a un lado la programacin. ltimos artculos: Balance de carga con HAProxy: Prueba de instalaci n y conclusiones Balance de carga con HAProxy: Configuraci n Balance de carga con HAProxy: Instalaci n Sesiones en el balance de carga con HAProxy 3.758 Lecturas 8 Comentarios Archivado en: Hosting, Optimizacin, balance, protocolos, servidores

.maestrosdel eb.com/editorial/balance-de-carga-hapro

3/3

S-ar putea să vă placă și