Tâches de déchargement

Présentation

Le déchargement répartit les tâches de traitement entre les instances de Experience Manager dans une topologie. Avec le déchargement, vous pouvez utiliser des instances spécifiques d’Experience Manager pour exécuter des types de traitement spécifiques. Le traitement spécialisé permet d’optimiser l’utilisation des ressources disponibles sur le serveur.

Le déchargement est basé sur les fonctionnalités Apache Sling Discovery et Sling JobManager. Pour utiliser le déchargement, ajoutez des clusters Experience Manager à une topologie, puis identifiez les rubriques de tâche devant être traitées par le cluster. Les clusters sont composés d’une ou de plusieurs instances Experience Manager, de sorte qu’une instance unique soit considérée comme un cluster.

Pour plus d’informations sur l’ajout d’instances à une topologie, voir Administration des topologies.

Distribution des tâches

SlingJobManager et JobConsumer permettent la création de tâches qui sont traitées dans une topologie :

  • JobManager : un service qui crée des tâches pour des rubriques spécifiques.
  • JobConsumer : un service qui exécute les tâches d’une ou de plusieurs rubriques. Plusieurs services JobConsumer peuvent être enregistrés dans la même rubrique.

Lorsque JobManager crée une tâche, la structure de déchargement sélectionne un cluster Experience Manager dans la topologie pour exécuter la tâche :

  • Le cluster doit inclure une ou plusieurs instances exécutant un JobConsumer enregistré pour la rubrique de tâche.
  • La rubrique doit être activée pour au moins une instance du cluster.

Voir Configuration de la consommation de rubrique pour plus de détails sur l’amélioration de la distribution des tâches.

chlimage_1-109

Lorsque la structure de déchargement sélectionne une grappe pour exécuter une tâche et que la grappe comprend plusieurs instances, Sling Distribution détermine l’instance de la grappe qui exécute la tâche.

Charges utiles de la tâche

La structure de déchargement prend en charge les charges utiles de la tâche qui associent des tâches aux ressources du référentiel. Les charges de la tâche sont utiles lorsque des tâches sont créées pour le traitement des ressources et que la tâche est déchargée sur un autre ordinateur.

Après la création d’une tâche, la charge utile n’a l’assurance que d’être située sur l’instance qui crée la tâche. En déchargeant la tâche, les agents de réplication garantissent que la charge est créée sur l’instance qui va consommer la tâche par la suite. Lorsque l’exécution d’une tâche est terminée, la réplication inverse entraîne la copie de la charge utile sur l’instance qui a créé la tâche.

Administration des topologies

Les topologies sont des clusters Experience Manager légèrement interconnectées qui participent au déchargement. Un cluster est composée d’une ou de plusieurs instances de serveur Experience Manager (une instance unique est considérée comme un cluster).

Chaque instance Experience Manager exécute les services liés au déchargement suivants :

  • Service Discovery (service de recherche) : envoie les demandes à un connecteur de topologie pour rejoindre la topologie.
  • Topology Connector (connecteur de topologie) : reçoit les demandes d’accès et accepte ou refuse chaque demande.

Le service de recherche de tous les membres du point de topologie pointe vers le connecteur de topologie de l’un des membres. Dans les sections qui suivent, ce membre est désigné sous le nom d’acteur principal.

chlimage_1-110

Chaque cluster de la topologie contient une instance qui est identifiée en tant que leader. Le leader du cluster interagit avec la topologie au nom des autres membres du cluster. Lorsque le leader quitte le cluster, un nouveau leader du cluster est automatiquement sélectionné.

Affichage de la topologie

Utilisez le navigateur de topologies pour explorer l’état de la topologie à laquelle l’instance d’Experience Manager participe. Le navigateur de topologies présente les clusters et les instances de la topologie.

Pour chaque grappe, une liste de membres indique l’ordre dans lequel chaque membre a rejoint la grappe et quel membre est le responsable. La propriété actuelle indique l’instance que vous êtes en train de gérer.

Pour chaque instance de cluster, vous pouvez voir plusieurs propriétés liées à la topologie :

  • Liste autorisée de rubriques pour le client de travaux de l’instance.
  • Les points de terminaison exposés pour la connexion à la topologie.
  • Les rubriques de tâche pour lesquelles l’instance est enregistrée pour le déchargement.
  • Les rubriques de tâches que l’instance traite.
  1. À l’aide de l’interface tactile, cliquez sur l’onglet Outils. (http://localhost:4502/tools.html)

  2. Dans la zone Opérations Granite, cliquez sur Navigateur de déchargement.

  3. Dans le panneau de navigation, cliquez sur Navigateur de topologies.

    Les clusters qui participent à la topologie s’affichent.

    chlimage_1-111

  4. Cliquez sur un cluster pour afficher la liste des instances du cluster et leur identifiant, leur état actuel et l’état du leader.

  5. Cliquez sur l’identifiant d’une instance pour afficher des informations plus détaillées.

Vous pouvez également utiliser la console web pour afficher les informations de topologie. La console fournit des informations supplémentaires sur les clusters de topologie :

  • Quelle instance est l’instance locale.
  • Les services Topology Connector que cette instance utilise pour se connecter à la topologie (sortie) et les services qui se connectent à cette instance (entrée).
  • Modification de l’historique des propriétés de topologie et d’instance.

Utilisez la procédure suivante pour ouvrir la page Topology Management de la console web :

  1. Ouvrez la console web dans votre navigateur. (http://localhost:4502/system/console)

  2. Cliquez sur Général > Gestion de la topologie.

    chlimage_1-112

Configuration de l’appartenance de la topologie

Le service de recherche basé sur les ressources Apache Sling s’exécute sur chaque instance pour contrôler la façon dont les instances d’Experience Manager interagissent avec une topologie.

Le service de recherche (Discovery Service) envoie des demandes POST périodiques (heartbeats) aux services du connecteur de topologie (Topology Connector) pour établir et gérer les connexions avec une topologie. Le service Topology Connector conserve une liste autorisée d’adresses IP ou de noms d’hôtes autorisés à rejoindre la topologie :

  • Pour joindre une instance à une topologie, précisez l’URL du service Topology Connector du membre racine.
  • Pour permettre à une instance de rejoindre une topologie, ajoutez-la à la liste autorisée du service Topology Connector du membre racine.

Utilisez la console web ou un nœud sling:OsgiConfig pour configurer les propriétés suivantes du service org.apache.sling.discovery.impt.Config :

Nom de la propriété Nom OSGi Description Valeur par défaut
Délai d’expiration de pulsation (en secondes) heartbeatTimeout Durée, en secondes, d’attente d’une réponse de pulsation avant que l’instance ciblée ne soit considérée comme non disponible. 20
Intervalle de pulsation (en secondes) heartbeatInterval Durée, en secondes, entre les pulsations. 15
Délai minimal de l’événement (en secondes) minEventDelay

Lorsqu’une modification est apportée à la topologie, délai nécessaire pour retarder le changement d’état de TOPOLOGY_CHANGING à TOPOLOGY_CHANGED. Chaque modification qui se produit lorsque l’état est TOPOLOGY_CHANGING augmente ce délai.

Ce délai empêche les écouteurs d’être submergés par les événements.

Pour n’utiliser aucun délai, spécifiez 0 ou un chiffre négatif.

3
URL de Topology Connector topologyConnectorUrls URL des services Topology Connector pour envoyer des messages de pulsation. http://localhost:4502/libs/sling/topology/connector
Liste autorisée du connecteur de topologie topologyConnectorWhitelist Liste d’adresses IP ou de noms d’hôtes autorisés par le service Topology Connector dans la topologie.

localhost

127.0.0.1

Nom du descripteur du référentiel leaderElectionRepositoryDescriptor <aucune valeur>

Utilisez la procédure suivante pour connecter une instance CQ au membre racine d’une topologie. La procédure indique une instance l’URL de Topology Connector du membre racine de la topologie. Exécutez cette procédure pour tous les membres de la topologie.

  1. Ouvrez la console web dans votre navigateur. (http://localhost:4502/system/console)
  2. Cliquez sur Général > Gestion de la topologie.
  3. Cliquez sur Configurer Discovery Service (le service de recherche).
  4. Ajoutez un élément à la propriété des URL de Topology Connector, puis spécifiez l’URL du service Topology Connector du membre racine de la topologie. L’URL se présente sous la forme https://rootservername:4502/libs/sling/topology/connector.

Effectuez la procédure suivante sur le membre racine de la topologie. La procédure ajoute les noms des autres membres de la topologie à sa liste autorisée Discovery Service.

  1. Ouvrez la console web dans votre navigateur. (http://localhost:4502/system/console)
  2. Cliquez sur Général > Gestion de la topologie.
  3. Cliquez sur Configurer Discovery Service (le service de recherche).
  4. Pour chaque membre de la topologie, ajoutez un élément à la propriété de liste autorisée du connecteur de topologie et spécifiez le nom d’hôte ou l’adresse IP du membre de la topologie.

Configuration de la consommation de rubrique

Utiliser le navigateur de déchargement pour configurer la consommation de rubrique pour les instances Experience Manager dans la topologie. Pour chaque instance, vous pouvez spécifier les rubriques qu’elle consomme. Par exemple, pour configurer votre topologie de sorte qu’une seule instance consomme les rubriques d’un type spécifique, désactivez la rubrique pour toutes les instances sauf une.

Les tâches sont réparties entre les instances pour lesquelles la rubrique associée est activée à l’aide d’une logique séquentielle.

  1. À l’aide de l’interface tactile, cliquez sur l’onglet Outils. (http://localhost:4502/tools.html)

  2. Dans la zone Opérations Granite, cliquez sur Navigateur de déchargement.

  3. Dans le panneau de navigation, cliquez sur Navigateur de déchargement.

    Les rubriques de déchargement et les instances de serveur qui peuvent utiliser les rubriques s’affichent.

    chlimage_1-113

  4. Pour désactiver la consommation d’une rubrique pour une instance, sous le nom de la rubrique, cliquez sur Désactiver en regard de l’instance.

  5. Pour configurer toutes les consommations de rubrique pour une instance, cliquez sur l’identificateur de l’instance au-dessous d’une rubrique.

    chlimage_1-114

  6. Cliquez sur l’un des boutons suivants à côté d’une rubrique pour configurer le comportement de consommation pour une instance, puis cliquez sur enregistrer :

    • Activé : cette instance consomme les tâches de cette rubrique.
    • Désactivé : cette instance ne consomme pas les tâches de cette rubrique.
    • Exclusif : cette instance consomme uniquement les tâches de cette rubrique.

    Remarque : Lorsque vous sélectionnez Exclusif pour une rubrique, toutes les autres rubriques sont automatiquement réglées sur Désactivé.

Consommateurs de tâches installés

Plusieurs implémentations de JobConsumer sont installées avec Experience Manager. Les rubriques auxquelles ces JobConsumers sont inscrits sont affichées dans le navigateur de déchargement. Les rubriques supplémentaires qui s’affichent sont celles que les JobConsumers personnalisés ont enregistrées. Le tableau ci-dessous décrit les JobConsumers par défaut.

Rubrique de tâche Service PID Description
/ org.apache.sling.event.impl.jobs.deprecated.EventAdminBridge Installé avec Apache Sling. Tâches de traitement générées par l’administrateur d’événements OSGi, à des fins de rétrocompatibilité.
com/day/cq/réplication/job/&amp ; ast; com.day.cq.replication.impl.AgentManagerImpl Agent de réplication qui reproduit les charges de travail.

Désactivation et activation des rubriques pour une instance

Le service Apache Sling Job Consumer Manager fournit les propriétés de liste autorisée et de liste bloquée des rubriques. Configurez ces propriétés pour activer ou désactiver le traitement de rubriques spécifiques sur une instance Experience Manager.

Remarque : Si l’instance appartient à une topologie, vous pouvez également utiliser le navigateur de déchargement sur tout ordinateur de la topologie pour activer ou désactiver les rubriques.

La logique qui crée la liste des rubriques activées autorise d’abord toutes les rubriques qui se trouvent dans la liste autorisée, puis supprime les rubriques qui se trouvent dans la liste bloquée. By default, all topics are enabled (the allow list value is *) and no topics are disabled (the block list has no value).

Utilisez le console web ou le nœud sling:OsgiConfig pour configurer les propriétés suivantes. Pour les nœuds sling:OsgiConfig, le paramètre PID du service Job Consumer Manager est org.apache.sling.event.impl.jobs.JobConsumerManager.

Nom de propriété dans la console web ID OSGi Description
Liste autorisée de rubrique job.consumermanager.whitelist Liste de rubriques traitées par le service JobManager local. La valeur par défaut de &ast; envoie toutes les rubriques au service TopicConsumer enregistré.
Liste bloquée de rubrique job.consumermanager.blacklist Liste de rubriques que le service JobManager local ne traite pas.

Création des agents de réplication pour le déchargement

La structure de déchargement utilise la réplication pour transférer des ressources entre l’auteur et le programme de traitement. La structure de déchargement crée automatiquement des agents de réplication lorsque les instances rejoignent la topologie. Les agents sont créés avec des valeurs par défaut. Vous devez modifier manuellement le mot de passe que les agents utilisent pour l’authentification.

ATTENTION

Un problème connu avec les agents de réplication générés automatiquement est le fait que vous devez créer manuellement de nouveaux agents de réplication. Suivez la procédure décrite dans Problèmes concernant l’utilisation des agents de réplication générés automatiquement avant de créer les agents pour le déchargement.

Créez des agents de réplication qui transportent les charges utiles des tâches entre les instances pour le déchargement. Les illustrations suivantes présentent les agents nécessaires pour le déchargement de l’auteur vers une instance de travail. L’auteur a un ID Sling de 1 et l’instance de travail un ID Sling de 2 :

chlimage_1-115

Cette configuration nécessite les trois agents suivants :

  1. Un agent sortant sur l’instance d’auteur qui effectue la réplication vers l’instance de travail.
  2. Un agent inverse sur l’instance d’auteur qui sort du dossier d’envoi sur l’instance de travail.
  3. Un agent d’envoi sur l’instance de travail.

Ce modèle de réplication est similaire à celui utilisé entre les instances d’auteur et de publication. Toutefois, dans le cas du déchargement, toutes les instances impliquées sont des instances de création.

Remarque

La structure de déchargement utilise la topologie pour obtenir les adresses IP des instances de déchargement. La structure crée alors automatiquement des agents de réplication en fonction de ces adresses IP. Si les adresses IP des instances de déchargement changent ultérieurement, la modification est automatiquement propagée sur la topologie après le redémarrage de l’instance. Toutefois, la structure de déchargement ne met pas automatiquement à jour les agents de réplication pour refléter les nouvelles adresses IP. Pour éviter cette situation, utilisez des adresses IP fixes pour toutes les instances de la topologie.

Nommage des agents de réplication pour le déchargement

Use a specific format for the Name property of the replication agents so that the offloading framework automatically uses the correct agent for specific worker instances.

Nommer un agent sortant sur l’instance d’auteur :

offloading_<slingid>, où <slingid> est l’identifiant Sling de l’instance de travail.

Exemple: offloading_f5c8494a-4220-49b8-b079-360a72f71559

Nommer l’agent inverse sur l’instance d’auteur :

offloading_reverse_<slingid>, où <slingid> est l’identifiant Sling de l’instance de travail.

Exemple: offloading_reverse_f5c8494a-4220-49b8-b079-360a72f71559

Nommer le dossier d’envoi sur l’instance de travail :

offloading_outbox

Création de l’agent sortant

  1. Créez un agent de réplication sur l’auteur. (See the documentation for replication agents). Specify any Title. The Name must follow the naming convention.

  2. Créez un agent en utilisant les propriétés suivantes :

    Propriétés Valeur
    Paramètres > Type de sérialisation Valeur par défaut
    Transport > URI de transport https://<ip of target instance>:<port>/bin/receive?sling:authRequestLogin=1
    Transport > Utilisateur du transport Utilisateur de réplication sur une instance de cible
    Transport > Mot de passe de transport Mot de passe utilisateur de réplication sur l’instance de cible
    Extended > Méthode HTTP POST
    Déclencheurs > Ignorer les valeurs par défaut True

Création de l’agent inverse

  1. Create a Reverse Replication Agent on author. (See the documentation for replication agents.) Specify any Title. The Name must follow the naming convention.

  2. Créez un agent en utilisant les propriétés suivantes :

    Propriétés Valeur
    Paramètres > Type de sérialisation Valeur par défaut
    Transport > URI de transport https://<ip of target instance>:<port>/bin/receive?sling:authRequestLogin=1
    Transport > Utilisateur du transport Utilisateur de réplication sur une instance de cible
    Transport > Mot de passe de transport Mot de passe utilisateur de réplication sur l’instance de cible
    Extended > Méthode HTTP GET

Création de l’agent de dossier d’envoi

  1. Create a Replication Agent on the worker instance. (See the documentation for replication agents.) Specify any Title. The Name must be offloading_outbox.

  2. Créez l’agent en utilisant les propriétés suivantes.

    Propriétés Valeur
    Paramètres > Type de sérialisation Valeur par défaut
    Transport > URI de transport repo://var/replication/outbox
    Déclencheur > Ignorer les valeurs par défaut True

Recherche de l’identifiant Sling

Obtenez l’identifiant Sling d’une instance Experience Manager en utilisant l’une des méthodes suivantes :

  • Open the Web Console and, in the Sling Settings, find the value of the Sling ID property (http://localhost:4502/system/console/status-slingsettings). Cette méthode est utile si l’instance ne fait pas encore partie de la topologie.
  • Utilisez le navigateur de topologies si l’instance fait déjà partie de la topologie.

Informations complémentaires

En plus des informations présentées sur cette page, vous pouvez également lire ce qui suit :

Sur cette page