En dinahosting disponemos de una herramienta gratuita para tus servidores o VPS No Administrados que te permite balancear la carga entre dos o más servidores. Esto es especialmente útil cuando quieres montar un servicio de alta disponibilidad, o si consideras que no es suficiente un solo servidor para atender las peticiones de tu web o servicio.
Para activar el balanceador, simplemente accedemos a nuestro Panel de Control y luego a Servidores, desde donde accederemos al panel del servidor que queremos administrar:
Una vez dentro, seleccionamos la opción Balanceador. En este apartado, antes de empezar, creamos un grupo de balanceo, igual que en el siguiente ejemplo:
Primero, indicamos el nombre con el que elegimos identificarlo, y clicamos en Añadir:
En la parte inferior se mostrará el listado de grupos de balanceo creados, y la información asociada a cada uno de ellos:
A partir de aquí, podemos comenzar a personalizar nuestro grupo de balanceo. Recomendamos empezar por la opción Añadir puerto.
Gestión de puertos
Este apartado engloba también otras opciones relacionadas con el sistema. Además del puerto que queremos balancear, podemos elegir el tipo de tráfico que se balancea, cómo se comprueba el estado de los nodos, el algoritmo de balanceo o si deseamos mantener o no la sesión, entre otras opciones relacionadas con los nodos.
Te mostramos un breve resumen de cada una de las opciones:
- Puerto: indicamos el puerto que queremos que se balancee entre el grupo de máquinas (nodos).
- Modo de balanceo: tienes las opciones de TCP y HTTP. Recomendamos emplear HTTP en los casos en los que quieras balancear peticiones a tu web y TCP para otros servicios.
- Comprobación del estado de los nodos: muy similar al apartado anterior. Tienes las opciones de TCP y HTTP. Si estás sirviendo una web en el puerto que hayas seleccionado, lo más habitual es comprobar el nodo vía HTTP, y en caso contrario TCP.
- Algoritmo de balanceo: están disponibles las opciones de RoundRobin, LeastConn y Source:
- RoundRobin: Las peticiones son repartidas por igual entre los servidores (nodos) que componen el grupo de balanceo. Recuerda que este sistema, por defecto, distribuye peticiones de forma ecuánime, pero no la carga de los servidores. Para tener un mejor reparto de las peticiones, aprovechando RoundRobin, en las opciones siguientes (Gestión de nodos) podrás asignar el peso que quieras a cada uno de los servidores.
- LeastConn: el servidor con menos conexiones activas en ese momento atenderá la petición.
- Source: todas las conexiones que vengan de la misma IP serán siempre atendidas por el mismo servidor del grupo.
- Mantener sesión: tienes las opciones de cookie, table o NO:
- Cookie: la petición llevará una cookie de sesión asociada, de esta forma las peticiones no perderán la sesión siempre que sean gestionadas por el mismo nodo. No es muy recomendable, ya que puede ocasionar pérdidas de sesión en caso de que uno de los nodos no responda.
- Table: en este caso es el balanceador el que lleva una Base de Datos (tabla) de las sesiones y de a qué clientes pertenecen. De este modo, aunque uno de los nodos deje de responder la petición será redireccionada a otro nodo sin pérdida de sesión.
- NO: no se guardan datos de sesión en las peticiones
- Espera para dar un nodo por caído (en segundos): define el tiempo que tiene que tardar en responder uno de los servidores del grupo para considerarlo caído.
- Intervalo entre comprobaciones (en segundos): define cada cuánto tiempo se comprueban los servidores que componen el grupo para saber si responden o no.
- Intentos para dar un nodo por caído: define cuántos intentos se harán antes de dar un servidor por caído.
Gestionar nodos
Esta sección nos permite elegir los servidores (nodos) que componen nuestro grupo de balanceo.
Para añadir un nuevo servidor a nuestro grupo, simplemente seleccionamos uno de nuestros servidores No Administrados desde el desplegable. A continuación indicamos el puerto, el modo de actuación dentro del grupo y el peso:
Modos: dispones de los modos Aceptar, Negar o Drenar:
- Aceptar: es el modo por defecto. El servidor acepta peticiones del balanceador.
- Negar: el servidor no acepta peticiones del balanceador. Es útil en los casos en los que necesitemos hacer un mantenimiento en alguno de los nodos.
- Drenar: en este modo, el servidor no acepta peticiones nuevas. Los usuarios que tengan conexiones o sesiones activas podrán interactuar con el servidor con normalidad. Este modo se emplea cuando quiere vaciarse de forma manual uno de los nodos y no queremos cerrar las conexiones de los usuarios que tengan trámites en curso.
Peso: las peticiones a los servidores se entregan dependiendo del peso que se le dé a cada uno de nuestros nodos. Cuanto más peso se le asigne, mayor será la proporción de peticiones que serán entregadas a ese nodo.
Por ejemplo, un servidor con peso 99 recibirá muchas más peticiones que un
servidor con peso 1.
Una vez terminadas las configuraciones de gestión de puertos y gestión de nodos, tendremos nuestro grupo de balanceo listo.
Desde el mismo apartado de Balanceador podrás revisar cuáles de tus nodos están activos y funcionando y podrás hacer modificaciones tanto en la configuración de puertos como en la configuración de nodos, pudiendo añadir o quitar los que consideres.