Utilice el equilibrio de carga basado en reglas para un ajuste más fino de cuándo y por qué
se envían los paquetes a qué servidores. Load Balancer revisa
cualquier regla que se añada desde primera prioridad a última prioridad, deteniéndose en la
primera regla que encuentre sea true, a continuación, equilibra
la carga de tráfico entre los servidores asociados a la regla. Ya distribuye la carga basada
en el destino
y puerto, pero utilizando reglas se mejora su conocimiento para distribuir conexiones.
Acerca de esta tarea
Debe utilizar el equilibrio de carga basado en reglas con Dispatcher y Site Selector cuando desea utilizar un subconjunto de los servidores. Utilice siempre las reglas para el componente CBR.
En la mayoría de los casos, cuando haya reglas de configuración, debe configurar siempre una regla predeterminada que siempre sea verdadera
para detectar cualquier petición pasada por otras reglas de prioridad más alta. Este valor predeterminado
puede ser la respuesta "Lo sentimos, este sitio está temporalmente fuera de servicio. Inténtelo más tarde"
cuando el resto de servidores no puedan atender la petición del cliente.
Todas las reglas tienen un nombre, tipo y prioridad, y podrían tener un intervalo de inicio
e intervalo de final, junto con un conjunto de servidores.
Las reglas se evalúan en orden de prioridad. Una regla
de prioridad 1 (número inferior) se evalúa antes que una regla de prioridad 2 (número mayor). Se utilizará la primera regla que se cumpla. Cuando se cumple una regla, no se siguen evaluando las demás. Para que se cumpla
una regla, se deben cumplir dos condiciones:
- El predicado de la regla debe ser true. Esto es, el valor que se evalúa debe estar entre los
intervalos de inicio y fin, o el contenido debe coincidir con la expresión regular que se ha
especificado en el patrón de la regla. En las reglas de tipo "true", el predicado siempre se
cumple, independientemente de los intervalos de comienzo y final. Si una regla no tiene servidores asociados a ella, la regla sólo tiene que cumplir esta primera
condición. En ese caso, Load Balancer finalizará la petición de conexión.
- Si hay servidores asociados a la regla, al menos un servidor debe tener un
peso mayor de 0 para reenviar paquetes de forma que Load Balancer tendrá un servidor
al que se reenviarán las conexiones.
Si una solicitud de conexión no cumple ninguna regla, Load Balancer seleccionará un servidor del
conjunto completo de servidores disponibles en el puerto.
Elija uno de los siguientes tipos de reglas:
- Dispatcher
- Total de conexiones activas
- Siempre verdadero
- CBR
- Dirección IP de cliente
- Hora del día
- Conexiones por segundo
- Total de conexiones activas
- Siempre verdadero
- Contenido de una petición
- Site Selector
- Dirección IP de cliente
- Hora del día
- Toda la métrica
- Media de la métrica
- Siempre verdadero
- Configure una regla que esté basada en el total de conexiones activas. Es posible que quiera utilizar las reglas basadas en el total de conexiones activas en un puerto por si sus servidores se sobrecargan y empiezan a rechazar paquetes. Algunos servidores web
siguen aceptando incluso aunque no tienen suficientes hebras para responder a las
peticiones.
La consecuencia es que se cumple el tiempo de espera para las peticiones de cliente
y el cliente que se dirige a su sitio web no es atendido. Puede utilizar reglas en
base a las conexiones activas para equilibrar la capacidad dentro de un grupo de servidores. Por ejemplo, supongamos que sabe por experiencia que sus servidores dejarán de atender peticiones una vez alcanzadas
las 250 conexiones.
Nota: El gestor debe estar en ejecución para que funcionen las reglas.
Crear una regla utilizando el mandato de reglas dscontrol o cbrcontrol. Añadirá entonces a la regla sus servidores
actuales más algunos servidores adicionales, que se utilizarían si no para otros procesos. Por ejemplo:dscontrol rule add 130.40.52.153@80@pool2 type active beginrange 250 endrange 500
- Cree una regla que siempre se evalúe como true. Una regla de
ese tipo siempre se seleccionará, a menos que todos los servidores asociados estén
inactivos. Por lo tanto, esta regla debería estar normalmente en una prioridad inferior al resto
de reglas. Incluso puede tener reglas múltiples "siempre true" con un conjunto de servidores
asociados a ella. Load Balancer elegirá una regla en base a la primera regla que sea verdadera y que
tenga un servidor disponible.
Por ejemplo, supongamos que tiene seis
servidores.
Quiere que dos de ellos gestionen el tráfico en todo momento, a menos que ambos estén
inactivos. Si los primeros dos servidores están inactivos, quiere que un segundo grupo de servidores
gestione el tráfico. Si los cuatro servidores están inactivos, utilizará los dos últimos servidores para
gestionar el tráfico. Podría configurar tres reglas "siempre true", con lo que el primer grupo de servidores siempre se elegirá, suponiendo que al menos uno de ellos esté activo. Si ambos están apagados,
se elegiría uno del segundo conjunto, y así sucesivamente.
Otro ejemplo podría ser que quiera que una regla "siempre true" se asegure de que si los clientes
entrantes no cumplen ninguna de las reglas establecidas, no sean atendidos. Así, no añadirá ningún
servidor a la regla, haciendo que los paquetes de los clientes se pierdan y no obtengan
respuesta. Puede definir más de una regla "siempre verdadera" y, posteriormente, ajustar la que
se ejecute, cambiando los niveles de prioridad.
Crear una regla utilizando el mandato de reglas dscontrol:
dscontrol rule add 130.40.52.153@80@jamais type true priority 100
No es necesario establecer un conjunto de valores beginrange o endrange cuando cree una regla
siempre true.
- Añada uno o más servidores a un conjunto de reglas. Puede utilizar
el mandato dscontrol rule useserver para añadir uno o más servidores a un conjunto de reglas
que ya esté definido. Por
ejemplo:
dscontrol rule useserver 130.40.52.153@80@jamais server1
dscontrol rule useserver 130.40.52.153@80@jamais server1+server2+server3
Las reglas de configuración adicionales que puede añadir con componentes CBR y Site Selector