Balance de Carga

La aplicación se basa en la presencia de directores. Solo una instancia de cada administrador puede ejecutarse en toda la instalación (en un solo servidor). El funcionamiento de estos administradores es mantenido por los Watchdogs que se ejecutan en los diversos servidores de aplicaciones: los Watchdogs sincronizan su funcionamiento a través de la base de datos, y distribuyen a los gerentes entre ellos de tal manera que se esté ejecutando una, y solo una, instancia de cada gerente. Si los servidores de aplicaciones individuales se desconectan, los administradores que desaparecen como resultado se distribuyen a otros servidores.

Para obtener información más detallada sobre el modo de funcionamiento, la tecnología y la implementación, consulte la documentación del desarrollador, en la sección «Balanceo de carga».

Resumen

Si una aplicación se ejecuta en varios servidores de aplicaciones (denominados «nodos» a continuación), la carga debe distribuirse entre los nodos de tal manera que los nodos individuales no se sobrecarguen, lo que provoca que el rendimiento general del sistema se degrade, mientras que otros nodos solo manejen cargas por debajo de la media.

La distribución adecuada de la carga entre los nodos (equilibrio de carga) se puede lograr utilizando la funcionalidad descrita a continuación, que está integrada en la aplicación. Alternativamente, el equilibrio de carga también se puede manejar fuera de la aplicación, por ejemplo, mediante el uso de interruptores de equilibrio de carga aguas arriba.

El método de equilibrio de carga implementado en la aplicación se basa en los siguientes componentes y procedimientos:

En lugar de tener un nombre de servidor fijo, el cliente de Windows puede funcionar con una lista de nombres de servidor. Esta lista se almacena en el registro de Windows. Cuando se establece una conexión desde el servidor de aplicaciones, la lista se actualiza en preparación para la próxima vez que se inicie el cliente. Al iniciar utilizando la lista de nombres de servidor, el cliente selecciona aleatoriamente un servidor de la lista para establecer una conexión. Si esta conexión no se puede establecer correctamente, el cliente intenta otros nombres de servidor de la lista, uno tras otro, hasta que se pueda establecer una conexión correctamente. Una vez que se ejecutan los procesos del cliente, no se pueden mover entre servidores de aplicaciones.

¿Sobrecarga de nodos individuales? mientras que otros nodos manejan cargas mucho más pequeñas? se evita mediante los procesos de vigilancia de la aplicación que se ejecutan en cada nodo, lo que juntos garantizan que un nodo sobrecargado ya no aceptará nuevas conexiones, si es posible. Al mismo tiempo, los procesos de vigilancia garantizan que al menos un nodo acepte nuevas conexiones en todo momento. El nodo con la menor carga aceptará nuevas conexiones para garantizar que incluso si el sistema general está sobrecargado, se puedan establecer nuevas conexiones y los usuarios puedan seguir trabajando con la aplicación, incluso si el rendimiento del sistema puede ser inferior al satisfactorio para los usuarios individuales.