El equilibrador de carga distribuye las solicitudes de servicio entrantes entre varios servidores de manera que la distribución de la carga sea transparente para los usuarios. El equilibrio de carga permite lograr un uso óptimo de los recursos, lo que maximiza el rendimiento, minimiza el tiempo de respuesta y evita sobrecargas.
El equilibrador de carga de NSX admite dos motores de equilibrio de carga. El equilibrador de carga de 4 capas está basado en paquetes y proporciona un procesamiento de rutas de acceso rápidas. El equilibrador de carga de 7 capas se basa en sockets, y es compatible con las estrategias de administración de tráfico avanzadas y la mitigación de DDOS para los servicios back-end.
El equilibrio de carga para una puerta de enlace Edge de NSX Data Center for vSphere se configura en la interfaz externa debido a que la carga de la puerta de enlace Edge equilibra el tráfico entrante de la red externa. Al configurar servidores virtuales para el equilibrio de carga, especifique una de las direcciones IP disponibles en el VDC de organización.
Conceptos y estrategias de equilibrio de carga
Una estrategia de equilibrio de carga basado en paquetes se implementa en la capa de TCP y UDP. El equilibrio de carga basado en paquetes no detiene la conexión ni regula la solicitud completa. En lugar de eso, tras manipular el paquete, lo envía directamente al servidor seleccionado. Se mantienen las sesiones de TCP y UDP en el equilibrador de carga para que los paquetes de una solo sesión se dirijan al mismo servidor. Puede seleccionar Aceleración habilitada en la configuración global y la configuración de los servidores virtuales relevantes para habilitar el equilibrio de carga basado en paquetes.
Una estrategia de equilibrio de carga basado en sockets se implementa por encima de la interfaz de sockets. Se establecen dos conexiones para una sola solicitud: una conexión orientada al cliente y una conexión orientada al servidor. La conexión orientada al servidor se establece después de la selección del servidor. Para la implementación basada en sockets de HTTP, se recibe la solicitud completa antes de enviarla al servidor seleccionado con manipulación de capa 7 opcional. Para la implementación basada en sockets HTTPS, se intercambia la información de autenticación en la conexión orientada al cliente o la conexión orientada al servidor. El equilibrio de carga basado en sockets es el modo predeterminado para los servidores virtuales TCP, HTTP y HTTPS.
Los conceptos clave para el equilibrador de carga NSX son: servidor virtual, grupo de servidores, miembro de grupo de servidores y supervisión de servicio.
- Servidor virtual
- Resumen de un servicio de aplicación, representado por una combinación única de IP, puerto, protocolos y perfil de aplicación, como TCP o UDP.
- Grupo de servidores
- Grupo de servidores back-end.
- Miembro de grupo de servidores
- Servidor back-end representado como miembro de un grupo.
- Supervisión de servicio
- Definición de la forma de comprobar el estado de mantenimiento de un servidor back-end.
- Perfil de aplicación
- Representación de la configuración de TCP, UDP, persistencia y certificación para una determinada aplicación.
Información general de configuración
Para comenzar, configure las opciones globales para el equilibrador de carga. Ahora, cree un grupo de servidores compuesto por miembros de servidores back-end y asocie una supervisión de servicio al grupo para administrar y compartir los servidores back-end de forma eficiente.
A continuación, cree un perfil de aplicación para definir el comportamiento común de las aplicaciones en un equilibrador de carga, como el cliente SSL, el servidor SSL, el encabezado X-Forwarded-For o la persistencia. La persistencia envía solicitudes posteriores con características similares, como que la cookie o la dirección IP de origen envíen al mismo miembro de grupo, sin ejecutar el algoritmo de equilibrio de carga. Se puede reutilizar el perfil de aplicación en los servidores virtuales.
Cree una regla de aplicación opcional para configurar los ajustes específicos de la aplicación para la manipulación del tráfico, como la coincidencia de cierta dirección URL o nombre de host para que diferentes grupos puedan gestionar diferentes solicitudes. A continuación, cree una supervisión de servicio específica para la aplicación o utilice una supervisión de servicio existente que se ajuste a sus necesidades.
Opcionalmente, puede crear una regla de aplicación para admitir la funcionalidad avanzada de servidores virtuales de 7 capas. Algunos escenarios de uso para reglas de aplicación incluyen la conmutación de contenido, la manipulación de encabezados, las reglas de seguridad y la protección de DOS.
Por último, cree un servidor virtual que conecte el grupo de servidores, el perfil de aplicación y cualquier posible regla de aplicación.
Cuando el servidor virtual recibe una solicitud, el algoritmo de equilibrio de carga tiene en cuenta la configuración del miembro de grupo y el estado de tiempo de ejecución. El algoritmo calcula el grupo apropiado para distribuir el tráfico compuesto por uno o varios miembros. La configuración del miembro de grupo incluye opciones como ponderación, conexión máxima y estado de condición. El estado de tiempo de ejecución incluye las conexiones actuales, el tiempo de respuesta y la información de comprobación de estado. Los métodos de cálculo pueden ser por turnos, por turnos ponderado, mínimo conectado, hash de IP de origen, mínimo conectado ponderado, URL, URI o encabezado HTTP.
Cada grupo se supervisa con la supervisión de servicio asociada. Cuando el equilibrador de carga detecta un problema con un miembro del grupo, el miembro se marca como INACTIVO. Solo se selecciona un servidor ACTIVO cuando se elige un miembro del grupo de servidores. Si no se configura una supervisión de servicio para el grupo de servidores, todos los miembros del grupo se consideran ACTIVOS.