Escolar Documentos
Profissional Documentos
Cultura Documentos
Presentado a:
Presentado a:
Presentado por:
LUIS HERNANDEZ
NILSON MENDEZ
DANIEL VICTORIA
2. <Proxy balancer://mycluster>
# WebHead1
BalancerMember http://192.168.0.21
# WebHead2
BalancerMember http://192.168.0.22
# WebHead2
BalancerMember http://192.168.0.24
ProxySet lbmethod=byrequests
</Proxy>
En esta característica se configuran las cabeceras y los servidores que se
van a utilizar para el balanceo. La directiva BalanceMember se utiliza para
declarar los webheads (ips de los servidores). La directiva ProxySet
declara cómo se va a realizar el balanceo. Se utilizó el método
"Byrequest". Este método implemento el algoritmo de balanceo “Round
Robin”, esto implica que para cada nueva solicitud se obtendrá un nuevo
webhead con orden secuencial [2].
3. <Location /balancer-manager>
SetHandler balancer-manager
</Location>
1. Crear y/o configurar las máquinas virtuales. En este punto se debe configurar
la comunicación entre los cuatro servidores, es decir, establecer una red
interna entre los servidores. Para esto se configura las máquinas virtuales en
modo de red “Adaptador puente”. Hecho esto, se realizan las respectivas
pruebas haciendo ping entre servidores para verificar que los mismos estén en
red y se puedan ver. En la figura 1 se muestran las cuatro máquinas virtuales y
la configuración de la red.
<Proxy balancer://mycluster>
# WebHead1
BalancerMember http://192.168.0.21 loadfactor=3
# WebHead2
BalancerMember http://192.168.0.22 loadfactor=3
# WebHead3
BalancerMember http://192.168.0.24 loadfactor=4
ProxySet lbmethod=byrequests
</Proxy>
<Location /balancer-manager>
SetHandler balancer-manager
</Location>
ProxyPass /balancer-manager !
ProxyPass / balancer://mycluster/
<VirtualHost *:80>
ProxyRequests off
ServerName domain.com
<Proxy balancer://mycluster>
# WebHead1
BalancerMember http://192.168.0.21 loadfactor=3
# WebHead2
BalancerMember http://192.168.0.22 loadfactor=3
# WebHead3
BalancerMember http://192.168.0.24 loadfactor=4
Order Deny,Allow
Deny from none
Allow from all
</Proxy>
<Location /balancer-manager>
SetHandler balancer-manager
Order deny,allow
Allow from all
</Location>
ProxyPass /balancer-manager !
ProxyPass / balancer://mycluster/
</VirtualHost>
4.1. Una vez descargado el paquete del servidor apache y el paquete de php,
se debe crear dos carpetas en las siguientes rutas: “c:\apachre” y “c:\php”.
Luego se debe copiar el contenido de los paquetes descargados en las
carpetas creadas.
ServerRoot "c:/apache"
DocumentRoot "c:/apache/htdocs"
<Directory "c:/apache/htdocs">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<IfModule dir_module>
DirectoryIndex index.php index.html index.htm
</IfModule>
ErrorDocument 401 "<html><body bgcolor=#000000><center><h1><br><font
face='Verdana' color=#FF0000><b>ACCESO
DENEGADO</b></center></font></html>"
ErrorDocument 403 http://miservidor.com/
ErrorDocument 404 "<html><h1>Archivo no encontrado.</html>"
ErrorDocument 500 "<html><h1>ups!... un error.</html>"
doc_root = c:\apache\htdocs
extension_dir = c:\php\ext
enable_dl = on
5. Por último se debe crear la aplicación web para realizar la prueba del
balanceador. Para esto crear el archivo “c:\apache\htdocs\index.php”. Dentro
de este archivo colocar el siguiente bloque de código.
<?php
$now = time();
$num = date("w");
if ($num == 0)
{ $sub = 6; }
else { $sub = ($num-1); }
$WeekMon = mktime(0, 0, 0, date("m", $now) , date("d", $now)-$sub,
date("Y", $now)); //monday week begin calculation
$todayh = getdate($WeekMon); //monday week begin reconvert
$d = $todayh[mday];
$m = $todayh[mon];
$y = $todayh[year];
echo "Fecha: $d-$m-$y"; //getdate converted day
?>
<html>
<body><h1>Hola, Bienvenido a nuestra aplicación</h1>
<h3>Se creó y configuró un balanceador para garantizar alta disponibilidad
de esta aplición</h3>
<h3>El balanceador cuenta con 3 servidores (nodos) y un servidor
balanceador.</h3>
<p>El servidor balanceador está en plataforma libre: Ubuntu 12.04 y utiliza el
servidor web apache con versión 2.2.</p>
<p>Los nodos cuentan con plataforma: windows xp servipack 3. Utilizan el
servidor web apache con versión 2.2 y un controlador para php.</p>
<p>La siguiente información se muestra para ilustrar que nodo está
atendiendo la petición actual del cliente:</p>
<ul>
<li>Nodo uno.</li>
<li>Ip del servidor:</li><?php echo $_SERVER['SERVER_NAME']; ?>
</ul>
</body>
</html>
Figura 10. Respuesta a las peticiones donde se evidencia que sólo los nodos 1 y dos las
atendieron.
Figura 11. Respuesta a las peticiones donde se evidencia que sólo los nodos 1 y tres las
atendieron.
De forma análoga sucedería si se deshabilitara el nodo 1. Por último se
realizó la prueba en la cual se deshabilitaron los nodos 2 y 3 y se dejó
habilitado el nodo 1. El resultado de esto fue que todas las peticiones las
atendió sólo el nodo uno. Ver figura 12 para evidencia.
Figura 12. Respuesta a las peticiones donde se evidencia que sólo el nodo 1 las atendió.
Figura 13. Respuesta del servidor balanceador a las peticiones donde se han deshabilitados
todos los nodos.
REFERENCIAS
[1] http://es.wikipedia.org/wiki/Balanceador_de_carga.
[2] http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html.
[3] http://www.rackspace.com/knowledge_center/article/simple-load-balancing-
with-apache.
[4] https://www.youtube.com/watch?v=pJ1JhM_3KQU.
[5]http://www.elmundoenbits.com/2011/10/round-robin-
dns.html#.VVSbZfl_NBc.
[6] https://sites.google.com/site/lucianoaibar/tutoriales/apache-php-mysql.
[7] http://php.net/manual/es/install.windows.apache2.php.