Service de catalogue

Le service de catalogue contrôle le positionnement des fragments et détecte et contrôle la santé des serveurs de conteneur dans la grille de données. Le service de catalogue héberge une logique qui doit être inactive et qui a peu d'influence sur l'évolutivité. Il est généré pour gérer plusieurs centaines de serveurs de conteneur devenant disponibles simultanément. Il exécute des services en vue de leur gestion.

Figure 1. Service de catalogue
Le service de catalogue s'exécute dans une machine virtuelle Java (JVM) et se compose du service de localisation, du service de placement, du gestionnaire de groupe central et de la fonction d'administration.
Les responsabilités du serveur de catalogue sont les suivantes :
Service de localisation
Le service de localisation s'exécute sur les membres de la grille de données pour fournir la localisation aux clients et aux serveurs de conteneur. Les serveurs de conteneur s'enregistrent auprès du service de localisation pour enregistrer les applications hébergées. Les clients peuvent alors utiliser le service de localisation pour rechercher les serveurs de conteneur afin d'héberger les applications.
Service de positionnement
Le service de catalogue gère le placement des fragments dans les serveurs de conteneur disponibles. Le service de placement est responsable du maintien de l'équilibre entre les différentes ressources physiques et de l'allocation des fragments à leur conteneur hôte. Il s'exécute en tant que service Un sur N choisi dans le cluster et dans la grille de données. Cela signifie qu'une seule instance du service de positionnement est active. Si cette instance échoue, un autre processus est choisi pour prendre le relais. Pour garantir la redondance, l'état du service de catalogue est répliqué sur tous les serveurs qui hébergent le service de catalogue.
Gestionnaire du groupe central
Le gestionnaire du groupe central gère le regroupement homologue en vue de la surveillance de la disponibilité, organise les serveurs de conteneur en petits groupes de serveurs et fédère automatiquement les groupes de serveurs.

Le service de catalogue utilise le gestionnaire de haute disponibilité (gestionnaire HA) pour regrouper des processus en vue de la surveillance de la disponibilité. Chaque regroupement est un groupe central. Le gestionnaire du groupe central regroupe les processus de manière dynamique. Ces processus doivent être de petite taille afin de permettre l'évolutivité. Chaque groupe central choisit un responsable chargé d'envoyer des messages de signaux de présence au gestionnaire du groupe central. Ces messages détectent si un membre a échoué ou s'il reste disponible. Le même mécanisme de signal de présence est utilisé pour identifier une éventuelle défaillance de tous les membres d'un groupe, qui pourrait entraîner un échec de la communication avec le responsable.

Le gestionnaire du groupe central est responsable de l'organisation des conteneurs en petits groupes de serveurs qui sont fédérés de manière souple pour constituer une grille de données. Lorsqu'un serveur de conteneur contacte le service de catalogue pour la première fois, il attend d'être affecté à un nouveau groupe ou à un groupe existant. Un déploiement eXtreme Scale consiste en plusieurs groupes de ce type et ce regroupement est une tâche d'activation essentielle pour l'évolutivité. Chaque groupe est constitué de machines virtuelles Java. Le responsable choisi utilise les signaux de présence pour surveiller la disponibilité des autres groupes. Il relaie les informations sur la disponibilité au service de catalogue afin de lui permettre de réagir aux défaillances en procédant à des réallocations et à des réacheminements.

Administration
Le service de catalogue constitue le point d'entrée logique de l'administration du système. Le service de catalogue héberge un bean géré (MBean) et fournit des URL Java Management Extensions (JMX) pour tous les serveurs que gère le service de catalogue.

Pour une haute disponibilité, configurez un domaine de service de catalogue. Un domaine de service de catalogue consiste en plusieurs machines virtuelles Java, dont une machine maîtresse et plusieurs machines virtuelles Java de sauvegarde. Pour plus d'informations, voir Service de catalogue à haute disponibilité.