Los asesores son agentes de software que operan en Load Balancer para
proporcionar información sobre la carga de un servidor determinado. Existe un asesor distinto
para cada protocolo estándar (HTTP, SSL y otros). De forma periódica, el código base de Load Balancer
lleva a cabo un ciclo de asesor, durante el que evalúa de forma individual el estado de todos los servidores de su configuración.
Antes de empezar
Los asesores son agentes incluidos en Load Balancer. Su finalidad es evaluar el estado y la carga de las máquinas servidor. Esto lo llevan a cabo con un intercambio parecido a los clientes proactivos con los servidores.
Los asesores se consideran como clientes ligeros de los servidores de aplicaciones.
Con la escritura de sus propios asesores para Load Balancer, puede personalizar
cómo se determina la carga de las máquinas servidor.
Para obtener más información acerca de cómo funcionan los asesores, consulte Asesores.
El producto proporciona varios asesores específicos de protocolo para la mayoría de los protocolos más utilizados. No obstante,
no tiene sentido utilizar todos los asesores proporcionados con Load Balancer. Load Balancer también da soporte al concepto
de un “asesor personalizado” que permite a los usuarios escribir sus propios asesores.
Limitación en la utilización de asesores con aplicaciones de servidor específicas del
enlace:- Para poder utilizar asesores en servidores específicos del enlace, inicie dos instancias del servidor: una instancia para enlazar el
clúster@puerto y la otra instancia para enlazar en servidor@puerto.
Para determinar si el servidor es específico del enlace, emita el mandato netstat
-an y busque el servidor@puerto.
Si el servidor no es específico del enlace, el resultado del mandato será 0.0.0.0:80.
Si el servidor es específico del enlace, verá una dirección parecida a 192.168.15.103:80.
Si utiliza arp publish en lugar del mandato ifconfig alias, Load Balancer dará soporte al uso de asesores cuando los servidores de equilibrio de carga con aplicaciones de servidores específicos del enlace cuando están enlazados a la dirección IP de clúster.
Acerca de esta tarea
Si lo desea, puede iniciar un asesor para un puerto concreto de todos los clústeres (asesor de grupo).
O bien, puede optar por ejecutar distintos asesores en el mismo puerto, pero en distintos clústeres (asesor específico del clúster).
Nota: Si se ejecuta Load Balancer en un sistema con varias tarjetas de adaptador de red, no puede forzar que la dirección IP de origen del paquete sea una dirección específica cuando desea que el tráfico del asesor fluya sobre un adaptador concreto.
Procedimiento
- Inicie el asesor que desee. Para obtener una lista de asesores posibles,
consulte la lista de asesores,
o bien el apartado sobre cómo crear un asesor personalizado.
- Asesor específico del clúster: para iniciar un asesor en el
puerto 80 para clústerA, especifique el clúster y el puerto:
dscontrol advisor start ADV_nombre clústerA@80
Este mandato iniciará un asesor en el puerto 80 para clústerA. El asesor asesorará
sobre todos los servidores conectados al puerto 80 para clústerA.
- Asesor de grupo: para iniciar un asesor en el puerto 80
para todos los demás clústeres, simplemente especifique el puerto:
dscontrol advisor start ADV_nombre 80
Este mandato iniciará el asesor en el puerto 80 para todos los clústeres y sitios
que no tienen actualmente un asesor específico del clúster o del sitio. El asesor asesorará
sobre todos los servidores conectados al puerto 80.
- Opcional: Si inicia el asesor HTTP o HTTPS, es posible que desee definir una serie de URL de cliente única para permitir que el asesor supervise los servicios individuales del servidor. Para obtener más información sobre esta opción, consulte Obtención de asesoramiento específico del servicio con la opción de solicitud o respuesta del asesor.
- Opcional: Establezca el intervalo del asesor. El intervalo del asesor establece la frecuencia con la que un asesor solicita el estado de los servidores en el puerto que está supervisando y, a continuación, notifica los resultados al gestor. Si el intervalo del asesor es demasiado bajo, puede suponer un bajo
rendimiento como resultado de que el asesor interrumpe constantemente a los servidores. Si el valor de intervalo del asesor es demasiado alto, puede indicar que las decisiones
del gestor sobre la ponderación no se basan en información actualizada y precisa.
Nota: Los valores predeterminados del asesor deben funcionar de forma eficaz para la gran mayoría de casos posibles. Tenga cuidado al especificar valores distintos a los valores predeterminados.
Por ejemplo, para establecer el intervalo en 3 segundos para el asesor HTTP para el puerto 80, escriba el siguiente mandato:
dscontrol advisor interval http 80 3
No tiene sentido especificar un intervalo de asesor más pequeño que el intervalo del gestor. El valor predeterminado del intervalo del asesor son 7 segundos.
- Opcional: Establezca el tiempo de espera de informe del asesor. Para asegurarse de que el gestor no utiliza información desfasada en sus decisiones de equilibrado de carga, el gestor no utilizará información procedente del asesor cuya indicación de la hora sea anterior a la hora establecida en el tiempo de espera de informe del asesor. El tiempo de espera de informe del asesor debe ser mayor que el intervalo de sondeo del asesor. Si el tiempo de espera es más pequeño, el asesor ignorará informes que en buena lógica deberían utilizarse. De forma predeterminada, los informes del asesor no exceden el tiempo de espera, el valor predeterminado es unlimited.
Por ejemplo, para establecer el tiempo de espera de informe del asesor en 30 segundos para el asesor
HTTP para el puerto 80, escriba el siguiente mandato:
dscontrol advisor timeout http 80 30
Para obtener más información sobre cómo establecer el tiempo de espera de informe del asesor, consulte
dscontrol advisor.
- Opcional: Establezca los valores
de tiempo de espera de recepción y de conexión de los asesores. Para Load Balancer,
puede establecer los valores de tiempo de espera del asesor en el que detecta que un puerto
particular en el servidor (un servicio) ha sufrido una anomalía.
Los valores de tiempo de espera del servidor anómalo (connecttimeout y receivetimeout) determinan cuánto tiempo espera un asesor antes de informar que
se ha producido una anomalía en una conexión o recepción.
Para obtener la detección más rápida de servidor con anomalía,
establezca los tiempos de espera de conexión y recepción en el valor más pequeño
(un segundo) y establezca el tiempo de intervalo del gestor y asesor en el valor más pequeño (un segundo).
Nota: Si el entorno oscila entre un volumen de tráfico de moderado a alto de forma que el tiempo de respuesta del servidor aumenta, tenga cuidado de no establecer unos valores demasiado bajos de timeoutconnect y timeoutreceive, o el asesor podría marcar prematuramente un servidor ocupado como anómalo.
Por ejemplo, para establecer connecttimeout y receivetimeout en 9 segundos para el asesor HTTP en el puerto 80, escriba el siguiente mandato:
dscontrol advisor connecttimeout http 80 9
dscontrol advisor receivetimeout http 80 9
El valor predeterminado para el tiempo de espera de conexión y recepción es 3 veces el valor especificado para el tiempo de intervalo del asesor.
- Opcional: Establezca el valor de reintento del asesor. Los asesores tienen la capacidad de reintentar una conexión antes de marcar un servidor como inactivo.
El asesor no marcará un servidor como inactivo hasta que la consulta del servidor haya fallado el número de reintentos
más 1. El valor de reintento no debe ser mayor que 3.
El siguiente mandato establece un valor de reintento de 2 para el asesor LDAP en el puerto 389:
dscontrol advisor retry ldap 389 2