Clúster
Para mejorar el flujo de datos y tolerancia a fallos básica puede configurar varias instancias de FlowForce Server para que se ejecuten como un clúster. Esto conlleva las siguientes ventajas:
•Equilibrio de carga
•Una gestión de recursos más eficaz
•Mantenimiento programado
•Menor riesgo de que se interrumpa el servicio
Nota: | No se admiten clústers de sistemas distintos, lo que significa que no se puede establecer una conexión trabajador-maestro entre dos sistemas operativos diferentes (p.ej. entre Linux y Windows). |
Equilibrio de carga
Cuando las limitaciones del hardware hacen que FlowForce Server se vea desbordado por varias instancias de trabajo ejecutándose simultáneamente, es posible redistribuir la carga de trabajo a otra instancia en ejecución de FlowForce Server (es lo que se conoce como «trabajador»). Puede configurar un clúster compuesto por un equipo maestro y varios equipos trabajadores y aprovechar así todos los núcleos con licencia del clúster.
Una gestión de recursos más eficaz
Uno de los equipos es designado como el maestro y supervisa constantemente los desencadenadores de los trabajos y asigna colas de elementos a los trabajadores, o incluso a sí mismo, en función de la configuración. Puede configurar las colas de trabajos y asignar un trabajo a una cola específica. Por ejemplo, puede configurar el equipo maestro para que no procese ninguna instancia de trabajo. Esto liberaría recursos que se podrían dedicar exclusivamente a mantener la prestación de servicios de FlowForce en lugar de a procesar datos.
Mantenimiento programado de trabajadores
Puede reiniciar o apagar de forma temporal cualquier instancia en ejecución de FlowForce Server que no sea el maestro sin tener que interrumpir el servicio. Tenga en cuenta que se espera que el maestro esté disponible en todo momento; reiniciarlo o apagarlo supondría interrumpir el servicio.
Menor riesgo de que se interrumpa el servicio
En caso de fallos de hardware, cortes de electricidad, cables de red desenchufados, etc., las repercusiones dependerán de si el equipo afectado es trabajador o maestro:
•Si el equipo es un trabajador se perderá cualquier instancia de trabajo de FlowForce que se esté ejecutando. Sin embargo, FlowForce seguirá suministrando servicios, ya que otro trabajador (o el equipo maestro, según la configuración) se hará cargo de las nuevas instancias de ese mismo trabajo. El maestro recibe información sobre el estado del trabajo, fallos incluidos, información que también se muestra en el registro del trabajo, por lo que un administrador puede intervenir de forma manual si es necesario.
•Si el equipo es un maestro, se perderá por completo el suministro de servicios. En este caso no es posible iniciar nuevas instancias de trabajo mientras el maestro siga sin estar disponible.
Terminología
La siguiente terminología se usa conjuntamente con la ejecución distribuida y el equilibrio de carga.
Instancia del servidor | Una instancia de servidor es una instalación de FlowForce Server con licencia y en ejecución. Se asume que ambos servicios (FlowForce Web Server y FlowForce Server) se encuentran en el equipo y en ejecución.
|
Clúster | Un clúster es un grupo formado por varias instancias de FlowForce Server que se ejecutan en diferentes equipos y se comunican con el fin de ejecutar trabajos en paralelo. Un clúster consiste en un servidor FlowForce Server maestro y uno o varios trabajadores".
|
Maestro | Un "maestro" es una instancia de FlowForce Server que evalúa de forma continuada las condiciones que desencadenan un trabajo y suministra la interfaz del servicio de FlowForce. Un maestro tiene en cuenta a los equipos trabajadores de su mismo clúster y se puede configurar para que les asigne instancias de trabajo, además de (o en lugar de) procesar las instancias de trabajos él mismo.
|
Trabajador | Una instancia de FlowForce Server configurada para comunicarse con la instancia maestra en vez de ejecutar trabajos locales. Un trabajador solo puede ejecutar los trabajos que el maestro le haya asignado.
|
Cola de ejecución | Una cola es un procesador de trabajos que controla el número de instancias de trabajo que pueden ejecutarse a la vez y el retraso entre ejecuciones. Mediante la configuración de colas, puede utilizar los recursos del servidor de forma más eficiente.
Puede crear una cola dentro de un trabajo (cola local) o definir una cola como objeto independiente (cola global). Una cola local procesa únicamente las instancias del trabajo en las que se ha configurado la cola local. Una cola global puede procesar instancias de un trabajo e instancias de trabajos diferentes.
Las colas globales proporcionan un mecanismo flexible para gestionar la carga de un servidor tanto en una sola máquina FlowForce como en un clúster (ver más abajo).
Colas locales y globales en un entorno de clúster (Edición avanzada)Configurar un clúster significa que el procesamiento se distribuye entre los miembros del clúster: una máquina maestra y una o más máquinas trabajadoras. Para una cola global, puede seleccionar un miembro del clúster en el que se lleve a cabo la ejecución, que puede ser el maestro o cualquier trabajador, sólo el maestro o sólo un trabajador. Con las colas locales, los trabajos sólo pueden ejecutarse en la máquina maestra y no en los demás miembros del clúster.
Aspectos relacionados con la seguridadLas colas utilizan el mismo mecanismo de acceso de seguridad que cualquier otro objeto de configuración de FlowForce Server. Es decir que un usuario debe tener el privilegio Definir colas de ejecución para poder crear colas (ver Definir usuarios y roles). Además, los usuarios pueden ver colas o asignar trabajos a colas solo si tienen los permisos de contenedor correspondientes (ver ¿Cómo funcionan los permisos?). Por defecto, cualquier usuario autentificado obtiene el permiso Cola: usar, lo que significa que puede asignar trabajos a las colas.
Para restringir el acceso a las colas navegue hasta el contenedor en el que está definida la cola y cambie el permiso del contenedor a Cola: sin acceso para el rol authenticated. A continuación asigne el permiso Cola: usar a los roles o usuarios que quiera. Para más información consulte Restringir el acceso al contenedor /public.
Para saber más sobre las colas locales y globales, consulte Colas.
|