Cómo configurar el sistema de equilibrio de carga HTTP

  
en el sistema Linux

Con el aumento del tráfico de red, el servidor comienza a enfrentar una carga pesada. En este momento, debe estar equipado con un sistema de equilibrio de carga HTTP. ¿Cómo configurar el sistema de equilibrio de carga HTTP en Linux? ? Aprendamos juntos con Xiaobian.

La creciente demanda actual de aplicaciones y servicios basados ​​en Internet pone cada vez más presión sobre los administradores de TI. En vista de los picos repentinos de tráfico, el aumento del tráfico autogenerado o los desafíos internos (como fallas de hardware y mantenimiento de emergencia), sus aplicaciones de Internet deben permanecer disponibles de todos modos. Incluso las operaciones de desarrollo modernas y las prácticas de entrega continua pueden poner en peligro la confiabilidad y el rendimiento constante de los servicios de Internet.

Lo impredecible o la falta de un rendimiento constante es algo que no puede permitirse. Entonces, ¿cómo podemos eliminar estas deficiencias? En la mayoría de los casos, se espera que una solución de equilibrio de carga adecuada cumpla con este requisito. Hoy te mostraré cómo construir un sistema de equilibrio de carga HTTP utilizando HAProxy.

Introducción al equilibrio de carga HTTP

El equilibrio de carga HTTP es una solución de red que distribuye el tráfico HTTP o HTTPS entrante entre varios servidores que albergan el mismo contenido de la aplicación. Al equilibrar las solicitudes de aplicaciones en múltiples servidores disponibles, el sistema de equilibrio de carga evita que cualquier servidor de aplicaciones se convierta en un punto único de falla, lo que aumenta la disponibilidad y capacidad de respuesta de la aplicación. También le permite reducir /ampliar fácilmente el tamaño de las aplicaciones implementadas con cargas de trabajo cambiantes, simplemente agregando o eliminando servidores de aplicaciones adicionales.

¿Dónde está el equilibrio de carga y cuándo?

Debido a que el sistema de equilibrio de carga mejora la utilización del servidor y maximiza la disponibilidad, debe usarlo si su servidor está comenzando a enfrentar cargas pesadas o está planeando un proyecto más grande. Es un buen hábito planificar por adelantado el uso del sistema de balanceo de carga. De esa manera, cuando necesite escalar su entorno en el futuro, demostrará su propósito.

¿Qué es HAProxy?

HAProxy es un popular sistema de equilibrio de carga de código abierto y servidores proxy para servidores TCP /HTTP en la plataforma GNU /Linux. HAProxy está diseñado con una arquitectura controlada por eventos de un solo hilo que maneja fácilmente las velocidades de línea de 10G NIC y ahora se usa ampliamente en muchos entornos de producción. Las características incluyen verificación de estado automática, algoritmos de equilibrio de carga personalizables, soporte para HTTPS /SSL y limitación de velocidad de sesión.

¿Qué objetivo conseguimos en este tutorial?

En este tutorial, veremos el proceso de configuración de un sistema de equilibrio de carga basado en HAProxy para un servidor web HTTP.

Requisitos previos

Necesita al menos un servidor web (preferiblemente dos) para verificar la funcionalidad de su sistema de equilibrio de carga. Suponemos que el servidor web HTTP de back-end está configurado y en ejecución.

Instalación de HAProxy en Linux

Para la mayoría de las distribuciones, podemos instalar HAProxy usando el administrador de paquetes de su distribución.

Instalando HAProxy en Debian

En Debian, necesitamos agregar la funcionalidad de migración hacia atrás a Wheezy. Para hacer esto, cree un nuevo archivo llamado " backports.list " en /etc/apt/sources.list.d con el siguiente contenido:

deb http://cdn.debian.net /debian wheezy ­ backports main

Actualice los datos de la biblioteca de software e instale HAProxy.

# apt ­ get update # apt ­ get install haproxy

Instale HAProxy en Ubuntu

# apt ­ get install haproxy

HAProxy instalado en CentOS y RHEL

# yum install haproxy

Configuración de HAProxy

En este tutorial, asumimos que dos servidores web HTTP están configurados y en funcionamiento. Sus direcciones IP son 192.168.100.2 y 192.168.100.3, respectivamente. También asumimos que el sistema de equilibrio de carga se configurará en el servidor con la dirección IP 192.168.100.4.

Para que funcione HAProxy, debe cambiar varios elementos en /etc/haproxy/haproxy.cfg. Estos cambios se describen en esta sección. En caso de que una configuración difiera para diferentes distribuciones de GNU /Linux, se anotará en el párrafo correspondiente.

1. Configuración de las funciones de registro

Una de las primeras cosas que debe hacer es configurar la función de registro adecuada para su HAProxy, que es útil para la depuración en el futuro. La configuración del registro se encuentra en la sección global de /etc/haproxy/haproxy.cfg. Las siguientes son instrucciones para una versión específica para configurar el registro para HAProxy.

CentOS o RHEL:

Para habilitar el registro en CentOS /RHEL, cambie:

log 127.0.0.1 local2

a: < Br>

log 127.0.0.1 local0

A continuación, cree un archivo de registro separado para HAProxy en /var /log. Para hacer esto, necesitamos cambiar la configuración actual de rsyslog. Para que la configuración sea simple y clara, crearemos un nuevo archivo llamado haproxy.conf en /etc/rsyslog.d/con el siguiente contenido.

$ ModLoad imudp $ UDPServerRun 514 $ template Haproxy, "% msg% \\ n " local0. = info ­ /var/log/haproxy.log; Haproxy local0.notice ­ /var /log /Haproxy ­ status.log; Haproxy local0. * ~

Esta configuración aislará todos los mensajes de HAProxy basados ​​en $ template para registrar archivos en /var /log. Ahora reinicie el rsyslog y deje que los cambios surtan efecto.

# service rsyslog restart

Debian o Ubuntu:

Para habilitar el registro de HAProxy en Debian o Ubuntu, coloque:

log /dev /log local0 log /dev /log local1 aviso

Cambiar a:

log 127.0.0.1 local0

A continuación, configure un archivo de registro separado para HAProxy, edite /etc Un archivo llamado haproxy.conf en /rsyslog.d/(o 49-haproxy.conf en Debian) tiene los siguientes contenidos.

$ ModLoad imudp $ UDPServerRun 514 $ template Haproxy, "% msg% \\ n " local0. = info ­ /var/log/haproxy.log; Haproxy local0.notice ­ /var /log /Haproxy ­ status.log; Haproxy local0. * ~

Esta configuración aislará todos los mensajes de HAProxy basados ​​en $ template para registrar archivos en /var /log. Ahora reinicie el rsyslog y deje que los cambios surtan efecto.

# service rsyslog restart

2. Configuración de los valores predeterminados

El siguiente paso es configurar las variables predeterminadas para HAProxy. Busque la sección de valores predeterminados en /etc/haproxy/haproxy.cfg y reemplácelo con la siguiente configuración.

modo global de registro opción de http opción de httplog dontlognull reintentos 3 opción redispatch maxconn 20000 contimeout 5000 clitimeout 50000 srvtimeout 50000

La configuración anterior recomienda el uso del equilibrador de carga HTTP, pero puede que no sea la mejor solución para su entorno El programa Si es así, consulte la página del Manual de referencia de HAProxy para ver los cambios y ajustes apropiados.

3. Configuración de un grupo de servidores web

La configuración de un servidor web (Webfarm) define un grupo de servidores HTTP disponibles. La mayoría de las configuraciones para el sistema de equilibrio de carga que construimos se ubicarán aquí. Ahora vamos a crear una configuración básica, y nuestros nodos se definirán aquí. Reemplace toda la configuración desde la sección de frontend hasta el final del archivo con el siguiente código:

listen webfarm *: 80 stats http stats habilitan stats uri /haproxy? Stats stats realm Haproxy \\ Statistics stats auth haproxy: stats balance roundrobin cookie LBN insertar indirect nocache opción httpclose opción forwardfor servidor web01 192.168.100.2:80 cookie node1 check server web02 192.168.100.3:80 cookie node2 check

" Listen webfarm *: 80 " Esta línea define en qué interfaces escuchará nuestro sistema de equilibrio de carga. Para los fines de este tutorial, establezco este valor en " * ", que permite que el sistema de equilibrio de carga escuche en todas nuestras interfaces. En el escenario real, esto puede ser indeseable y debe reemplazarse con una interfaz que sea accesible desde Internet.

stats enable stats uri /haproxy? Stats stats realm Haproxy \\ Statistics stats auth haproxy: stats

La declaración de configuración anterior se puede encontrar en http: //load-balancer-IP /haproxy? Las estadísticas del sistema de equilibrio de carga se accede a las estadísticas. Este acceso está garantizado por la autenticación HTTP simple, así como por el nombre de inicio de sesión " haproxy " y la contraseña " stats ". Estas configuraciones deben reemplazarse con su propia información de inicio de sesión. Si no desea que se vean estas estadísticas, puede deshabilitarlas por completo.
Anterior12Siguiente Total 2 Páginas

Copyright © Conocimiento de Windows All Rights Reserved