Servicio de catálogo

El servicio de catálogo controla la colocación de fragmentos y descubre y supervisa el estado de los servidores de contenedor en la cuadrícula de datos. El servicio de catálogo aloja la lógica que debería estar inactiva y tiene poca influencia en la escalabilidad. Se crea para dar servicio a cientos de servidores de contenedor que pasan a estar disponibles de forma simultánea, y ejecutar servicios para gestionar los servidores de contenedor.

Figura 1. Servicio de catálogo
El servicio de catálogo se ejecuta en una máquina virtual Java (JVM) y consta del servicio de ubicación, el servicio de colocación, el gestor de grupos principales y la administración.
Las responsabilidades del servidor de catálogo constan de los siguientes servicios:
Servicio de ubicación
El servidor de ubicación se ejecuta en los miembros de la cuadrícula de datos para proporcionar una ubicación a los clientes y los servidores de contenedor. Los servidores de contenedor se registran con el servicio de ubicación para registrar las aplicaciones alojadas. Los clientes pueden entonces utilizar el servicio de ubicación para buscar servidores de contenedor para alojar aplicaciones.
Servicio de colocación
El servicio de catálogo gestiona la colocación de fragmentos en los servidores de contenedor disponibles. El servicio de colocación es responsable de mantener el equilibrio entre recursos físicos y de asignar fragmentos individuales a su servidor de contenedor host. El servicio de colocación se ejecuta como uno de los N servicios elegidos en el clúster y en la cuadrícula de datos. Esto significa que se está ejecutando exactamente una instancia del servicio de colocación. Si una instancia falla, se elige otro proceso, que tomará el control. El estado del servicio de catálogo se replica en todos los servidores que alojan el servicio de catálogo para favorecer la redundancia.
Gestor de grupos principales
El grupo principal gestiona la agrupación de igual para la supervisión de la disponibilidad, organiza los servidores de contenedor en grupos pequeños de servidores y federa automáticamente los grupos de servidores.

El servicio de catálogo utiliza el High Availability Manager (Gestor HA) para agrupar los procesos para la supervisión de la disponibilidad. Cada grupo de procesos es un grupo principal. El gestor de grupos principales agrupa dinámicamente los procesos. Estos procesos son pequeños para favorecer la escalabilidad. Cada grupo principal elige un líder que es el responsable de enviar mensajes de pulsación al gestor de grupos principales. Estos mensajes detectan si un miembro individual ha fallado o está todavía disponible. El mecanismo de pulsación también se utiliza para detectar si todos los miembros de un grupo han fallado, lo que provoca que la comunicación con el líder falle.

El gestor de grupos principales es el responsable de organizar los contenedores en grupos pequeños de servidores que se federan libremente para conformar una cuadrícula de datos. Cuando un servidor de contenedor se pone en contacto por primera vez con el servicio de catálogo, espera a ser asignado a un grupo nuevo o existente. Un despliegue de eXtreme Scale se compone de varios de estos grupos, y este agrupamiento es un habilitador de escalabilidad clave. Cada grupo consta de Mäquinas virtuales Java. Un líder elegido utiliza el mecanismo de pulsación para supervisar la disponibilidad de los otros grupos. El líder transmite la información de disponibilidad al servicio de catálogo para permitir reaccionar ante anomalías mediante la reasignación y el reenvío de rutas.

Administración
El servicio de catálogo es también el punto de entrada lógico para la administración del sistema. El servicio de catálogo aloja un bean gestionado (MBean) y proporciona URL JMX (Java Management Extensions) para cualquiera de los servidores que gestiona el servicio de catálogo.

Para una alta disponibilidad, configure un dominio de servicio de catálogo. Un dominio de servicio de catálogo está formado por varias máquinas virtuales Java, incluida una JVM maestra y una serie de máquinas virtuales Java de copia de seguridad. Para obtener más información, consulte Servicio de catálogo de alta disponibilidad.