Configuración del balanceador de carga XR (Crossroads) para servidores web en RHEL/CentOS


Crossroads es una utilidad de conmutación por error y equilibrio de carga de código abierto independiente del servicio para servicios basados en Linux y TCP. Se puede utilizar para HTTP, HTTPS, SSH, SMTP y DNS, etc. También es una utilidad de subprocesos múltiples que consume solo un espacio de memoria, lo que aumenta el rendimiento al equilibrar la carga.

Veamos cómo funciona XR. Podemos ubicar XR entre los clientes de la red y un nido de servidores que envía las solicitudes de los clientes a los servidores para equilibrar la carga.

Si un servidor está inactivo, XR reenvía la siguiente solicitud del cliente al siguiente servidor en línea, por lo que el cliente no siente tiempo de inactividad. Eche un vistazo al diagrama a continuación para comprender qué tipo de situación vamos a manejar con XR.

Hay dos servidores web, un servidor de puerta de enlace que instalamos y configuramos XR para recibir las solicitudes de los clientes y distribuirlas entre los servidores.

XR Crossroads Gateway Server : 172.16.1.204
Web Server 01 : 172.16.1.222
Web Server 02 : 192.168.1.161

En el escenario anterior, mi servidor de puerta de enlace (es decir, XR Crossroads) tiene la dirección IP 172.16.1.222, webserver01 es 172.16.1.222 y escucha a través del puerto 8888 y webserver02 es 192.168.1.161 y escucha a través del puerto 5555.

Ahora todo lo que necesito es equilibrar la carga de todas las solicitudes que recibe la puerta de enlace XR desde Internet y distribuirlas entre dos servidores web equilibrando la carga.

Paso 1: Instale el balanceador de carga de XR Crossroads en el servidor de puerta de enlace

1. Desafortunadamente, no hay paquetes RPM binarios disponibles para crosscroads, la única forma de instalar XR crossroads desde el archivo tarball de origen.

Para compilar XR, debe tener el compilador C ++ y las utilidades Gnu make instaladas en el sistema para continuar la instalación sin errores.

# yum install gcc gcc-c++ make

A continuación, descargue el archivo tar de origen yendo a su sitio oficial (https://crossroads.e-tunity.com) y tome el paquete archivado (es decir, crossroads-stable.tar.gz).

Alternativamente, puede usar la siguiente utilidad wget para descargar el paquete y extraerlo en cualquier ubicación (por ejemplo:/usr/src /), ir al directorio desempaquetado y ejecutar el comando "make install".

# wget https://crossroads.e-tunity.com/downloads/crossroads-stable.tar.gz
# tar -xvf crossroads-stable.tar.gz
# cd crossroads-2.74/
# make install

Una vez finalizada la instalación, los archivos binarios se crean en/usr/sbin/y la configuración de XR dentro de/etc, a saber, “xrctl.xml”.

2. Como último requisito previo, necesita dos servidores web. Para facilitar su uso, he creado dos instancias de Python SimpleHTTPServer en un servidor.

Para ver cómo configurar un servidor Python SimpleHTTPServer, lea nuestro artículo en Crear dos servidores web fácilmente usando SimpleHTTPServer.

Como dije, estamos usando dos servidores web, y webserver01 se ejecuta en 172.16.1.222 a través del puerto 8888 y webserver02 se ejecuta en 192.168.1.161 a través del puerto 5555.

Paso 2: Configurar el balanceador de carga de XR Crossroads

3. Se cumplen todos los requisitos. Ahora lo que tenemos que hacer es configurar el archivo xrctl.xml para distribuir la carga entre los servidores web que recibe el servidor XR de Internet.

Ahora abra el archivo xrctl.xml con el editor vi/vim.

# vim /etc/xrctl.xml

y realice los cambios que se sugieren a continuación.

<?xml version=<94>1.0<94> encoding=<94>UTF-8<94>?>
<configuration>
<system>
<uselogger>true</uselogger>
<logdir>/tmp</logdir>
</system>
<service>
<name>Tecmint</name>
<server>
<address>172.16.1.204:8080</address>
<type>tcp</type>
<webinterface>0:8010</webinterface>
<verbose>yes</verbose>
<clientreadtimeout>0</clientreadtimeout>
<clientwritetimout>0</clientwritetimeout>
<backendreadtimeout>0</backendreadtimeout>
<backendwritetimeout>0</backendwritetimeout>
</server>
<backend>
<address>172.16.1.222:8888</address>
</backend>
<backend>
<address>192.168.1.161:5555</address>
</backend>
</service>
</configuration>

Aquí, puede ver una configuración de XR muy básica realizada dentro de xrctl.xml. He definido qué es el servidor XR, cuáles son los servidores back-end y sus puertos y el puerto de interfaz web para el XR.

4. Ahora necesita iniciar el demonio XR emitiendo los siguientes comandos.

# xrctl start
# xrctl status

5. Muy bien. Ahora es el momento de comprobar si las configuraciones funcionan bien. Abra dos navegadores web e ingrese la dirección IP del servidor XR con puerto y vea el resultado.

Fantástico. Funciona bien. ahora es el momento de jugar con XR.

6. Ahora es el momento de iniciar sesión en el panel de XR Crossroads y ver el puerto que hemos configurado para la interfaz web. Ingrese la dirección IP de su servidor XR con el número de puerto para la interfaz web que ha configurado en xrctl.xml.

http://172.16.1.204:8010

Esto es lo que parece. Es fácil de entender, fácil de usar y fácil de usar. Muestra cuántas conexiones recibió cada servidor back-end en la esquina superior derecha junto con los detalles adicionales sobre las solicitudes recibidas. Incluso puede establecer el peso de carga de cada servidor que necesita soportar, el número máximo de conexiones y el promedio de carga, etc.

La mejor parte es que puedes hacer esto incluso sin configurar xrctl.xml. Lo único que tiene que hacer es emitir el comando con la siguiente sintaxis y hará el trabajo hecho.

# xr --verbose --server tcp:172.16.1.204:8080 --backend 172.16.1.222:8888 --backend 192.168.1.161:5555

Explicación detallada de la sintaxis anterior:

  1. –verbose mostrará lo que sucede cuando se ejecuta el comando.
  2. –server define el servidor XR en el que ha instalado el paquete.
  3. –backend define los servidores web a los que necesita equilibrar el tráfico.
  4. Tcp define que usa servicios tcp.

Para obtener más detalles sobre la documentación y la configuración de CROSSROADS, visite su sitio oficial en: https://crossroads.e-tunity.com/.

XR Corssroads permite muchas formas de mejorar el rendimiento de su servidor, proteger el tiempo de inactividad y hacer que sus tareas administrativas sean más fáciles y prácticas. Espero que haya disfrutado de la guía y no dude en comentar a continuación las sugerencias y aclaraciones. Manténgase en contacto con Tecmint para obtener prácticos procedimientos.