Descargando trabajos offloading-jobs

Introducción introduction

La descarga distribuye las tareas de procesamiento entre las instancias de Experience Manager de una topología. Con la descarga, puede utilizar instancias de Experience Manager específicas para realizar tipos específicos de procesamiento. El procesamiento especializado le permite maximizar el uso de los recursos de servidor disponibles.

La descarga se basa en las características de Apache Sling Discovery y Sling JobManager. Para utilizar la descarga, agregue clústeres de Experience Manager a una topología e identifique los temas de trabajo que procesa el clúster. Los clústeres están formados por una o más instancias de Experience Manager, por lo que una sola instancia se considera un clúster.

Para obtener información acerca de cómo agregar instancias a una topología, vea Administrar topologías.

Distribución de trabajos job-distribution

Sling JobManager y JobConsumer permiten la creación de trabajos que se procesan en una topología:

  • JobManager: servicio que crea trabajos para temas específicos.
  • JobConsumer: servicio que ejecuta trabajos de uno o más temas. Se pueden registrar varios servicios JobConsumer para el mismo tema.

Cuando JobManager crea un trabajo, el módulo de descarga selecciona un clúster de Experience Manager en la topología para ejecutar el trabajo:

  • El clúster debe incluir una o más instancias que ejecuten un JobConsumer registrado para el tema del trabajo.
  • El tema debe estar habilitado al menos para una instancia del clúster.

Consulte Configuración del consumo de temas para obtener información sobre cómo refinar la distribución de trabajos.

chlimage_1-109

Cuando el marco de trabajo de descarga selecciona un clúster para ejecutar un trabajo y el clúster consta de varias instancias, Sling Distribution determina qué instancia del clúster ejecuta el trabajo.

Cargas del trabajo job-payloads

El marco de trabajo de descarga admite cargas útiles de trabajos que asocian trabajos con recursos del repositorio. Las cargas de trabajo son útiles cuando se crean trabajos para procesar recursos y el trabajo se descarga en otro equipo.

Al crear un trabajo, solo se garantiza que la carga útil se encuentre en la instancia que crea el trabajo. Al descargar el trabajo, los agentes de replicación se aseguran de que la carga útil se cree en la instancia que finalmente consume el trabajo. Cuando se completa la ejecución del trabajo, la replicación inversa hace que la carga útil se copie de nuevo en la instancia que creó el trabajo.

Administración de topologías administering-topologies

Las topologías son clústeres Experience Manager de correspondencia imprecisa que participan en la descarga. Un clúster consta de una o más instancias de servidor de Experience Manager (una sola instancia se considera un clúster).

Cada instancia de Experience Manager ejecuta los siguientes servicios relacionados con la descarga:

  • Servicio de detección: envía solicitudes a un conector de topología para unirse a la topología.
  • Conector de topología: recibe las solicitudes de unión y acepta o rechaza cada solicitud.

El servicio de detección de todos los miembros de la topología señala al conector de topología de uno de los miembros. En las secciones siguientes, este miembro se denomina miembro raíz.

chlimage_1-110

Cada clúster de la topología contiene una instancia que se reconoce como principal. El líder del clúster interactúa con la topología en nombre de los demás miembros del clúster. Cuando la directriz abandona el grupo, se elige automáticamente una nueva directriz para el grupo.

Visualización de la topología viewing-the-topology

Utilice el Explorador de topología para explorar el estado de la topología en la que participa la instancia de Experience Manager. El Explorador de topología muestra los clústeres y las instancias de la topología.

Para cada clúster, verá una lista de miembros del clúster que indica el orden en que cada miembro se unió al clúster y qué miembro es el líder. La propiedad Current indica la instancia que está administrando actualmente.

Para cada instancia del clúster, puede ver varias propiedades relacionadas con la topología:

  • Una lista de permitidos de temas para el consumidor de trabajos de la instancia.
  • Los extremos que se exponen para conectarse con la topología.
  • Temas de trabajo para los que se ha registrado la instancia para la descarga.
  • Los temas de trabajo que procesa la instancia.
  1. Con la IU táctil, haga clic en la pestaña Herramientas. (http://localhost:4502/tools.html)

  2. En el área Operaciones de Granite, haga clic en Explorador de descarga.

  3. En el panel de navegación, haga clic en Explorador de topología.

    Aparecen los clústeres que participan en la topología.

    chlimage_1-111

  4. Haga clic en un cluster para ver una lista de las instancias del cluster y su ID, Estado actual y Estado de líder.

  5. Haga clic en un ID de instancia para ver propiedades más detalladas.

También puede utilizar la consola web para ver información de topología. La consola proporciona más información sobre los clústeres de topología:

  • ¿Qué instancia es la instancia local?
  • Los servicios del Conector de topología que utiliza esta instancia para conectarse a la topología (saliente) y los servicios que se conectan a esta instancia (entrante).
  • Cambiar el historial de las propiedades de topología e instancia.

Utilice el siguiente procedimiento para abrir la página Topology Management de la consola web:

  1. Abra la consola web en el explorador. (http://localhost:4502/system/console)

  2. Haga clic en Principal > Administración de topología.

    chlimage_1-112

Configuración de miembros de topología configuring-topology-membership

El servicio de detección basado en recursos de Apache Sling se ejecuta en cada instancia para controlar cómo interactúan las instancias de Experience Manager con una topología.

El servicio de detección envía solicitudes periódicas de POST (latidos) a los servicios del conector de topología para establecer y mantener conexiones con la topología. El servicio Conector de topología mantiene una lista de permitidos de direcciones IP o nombres de host que pueden unirse a la topología:

  • Para unir una instancia a una topología, especifique la dirección URL del servicio Conector de topología del miembro raíz.
  • Para permitir que una instancia se una a una topología, agregue la instancia a la lista de permitidos del servicio Conector de topología del miembro raíz.

Utilice la consola web o un nodo sling:OsgiConfig para configurar las siguientes propiedades del servicio org.apache.sling.discovery.impt.Config:

Nombre de la propiedad
Nombre de OSGi
Descripción
Valor predeterminado
Tiempo de espera de Heartbeat (segundos)
heartbeatTimeout
Cantidad de tiempo en segundos que se debe esperar una respuesta de latido antes de que la instancia de destino se considere no disponible.
20
Intervalo de Heartbeat (segundos)
heartbeatInterval
Cantidad de tiempo en segundos entre latidos.
15
Retraso mínimo del evento (segundos)
minEventDelay

Cuando se produce un cambio en la topología, la cantidad de tiempo para retrasar el cambio de estado de TOPOLOGY_CHANGING a TOPOLOGY_CHANGED. Cada cambio que se produce cuando el estado es TOPOLOGY_CHANGING aumenta el retraso en esta cantidad de tiempo.

Este retraso evita que los oyentes se inunden de eventos.

Para no utilizar retardo, especifique 0 o un número negativo.

3
URL del conector de topología
topologyConnectorUrls
Las direcciones URL de los servicios de Topology Connector para enviar mensajes de Heartbeat.
http://localhost:4502/libs/sling/topology/connector
Lista de permitidos del conector de topología
topologyConnectorWhitelist
La lista de direcciones IP o nombres de host que el servicio local Topology Connector permite en la topología.

localhost

127.0.0.1

Nombre del descriptor del repositorio
leaderSelectionRepositoryDescriptor
<sin valor>

Utilice el siguiente procedimiento para conectar una instancia de CQ al miembro raíz de una topología. El procedimiento dirige la instancia a la dirección URL del conector de topología del miembro de topología raíz. Realice este procedimiento en todos los miembros de la topología.

  1. Abra la consola web en el explorador. (http://localhost:4502/system/console)
  2. Haga clic en Principal > Administración de topología.
  3. Haga clic en Configurar servicio de detección.
  4. Agregue un elemento a la propiedad URL del conector de topología y especifique la dirección URL del servicio Conector de topología del miembro de la topología raíz. La dirección URL tiene el formato https://rootservername:4502/libs/sling/topology/connector.

Realice el siguiente procedimiento en el miembro raíz de la topología. El procedimiento agrega los nombres de los demás miembros de la topología a su lista de permitidos de Discovery Service.

  1. Abra la consola web en el explorador. (http://localhost:4502/system/console)
  2. Haga clic en Principal > Administración de topología.
  3. Haga clic en Configurar servicio de detección.
  4. Para cada miembro de la topología, agregue un elemento a la propiedad de lista de permitidos Conector de topología y especifique el nombre de host o la dirección IP del miembro de la topología.

Configuración del consumo de temas configuring-topic-consumption

Utilice el Explorador de descargas para configurar el consumo de temas de las instancias de Experience Manager de la topología. Para cada instancia, puede especificar los temas que consume. Por ejemplo, para configurar la topología de modo que solo una instancia consuma temas de un tipo específico, deshabilite el tema en todas las instancias excepto en una.

Los trabajos se distribuyen entre instancias que tienen el tema asociado habilitado mediante la lógica de operación por turnos.

  1. Con la IU táctil, haga clic en la pestaña Herramientas. (http://localhost:4502/tools.html)

  2. En el área Operaciones de Granite, haga clic en Explorador de descarga.

  3. En el panel de navegación, haga clic en Explorador de descarga.

    Aparecen los temas de descarga y las instancias de servidor que pueden consumirlos.

    chlimage_1-113

  4. Para desactivar el consumo de un tema para una instancia, debajo del nombre del tema, haga clic en Desactivar junto a la instancia.

  5. Para configurar todo el consumo de temas de una instancia, haga clic en el identificador de instancia debajo de cualquier tema.

    chlimage_1-114

  6. Haga clic en uno de los siguientes botones junto a un tema para configurar el comportamiento de consumo de la instancia y, a continuación, haga clic en Guardar:

    • Habilitada: esta instancia consume trabajos de este tema.
    • Deshabilitado: esta instancia no consume trabajos de este tema.
    • Exclusiva: esta instancia consume trabajos solo de este tema.

    Nota: Al seleccionar Exclusivo para un tema, todos los demás temas se establecen automáticamente como Deshabilitado.

Consumidores de trabajos instalados installed-job-consumers

Varias implementaciones de JobConsumer se instalan con Experience Manager. Los temas para los que se han registrado estos JobConsumers aparecen en el Explorador de descargas. Los temas adicionales que aparecen son los que JobConsumers personalizados han registrado. En la tabla siguiente se describen los JobConsumers predeterminados.

Tema de trabajo
PID de servicio
Descripción
/
org.apache.sling.event.impl.jobs.deprecated.EventAdminBridge
Se instala con Apache Sling. Procesa los trabajos que genera el administrador de eventos OSGi para garantizar la compatibilidad con versiones anteriores.
com/day/cq/replication/job/*
com.day.cq.replication.impl.AgentManagerImpl
Agente de replicación que replica cargas útiles de trabajo.

Desactivación y activación de temas para una instancia disabling-and-enabling-topics-for-an-instance

El servicio Administrador del consumidor de trabajos de Apache Sling proporciona propiedades de lista de permitidos y lista de bloqueados de temas. Configure estas propiedades para habilitar o deshabilitar el procesamiento de temas específicos en una instancia de Experience Manager.

Nota: Si la instancia pertenece a una topología, también puede usar el Explorador de descarga en cualquier equipo de la topología para habilitar o deshabilitar temas.

La lógica que crea la lista de temas habilitados permite primero todos los temas que están en la lista de permitidos y, a continuación, quita los temas que están en la lista de bloqueados. De forma predeterminada, todos los temas están habilitados (el valor de lista de permitidos es *) y no se deshabilitaron (la lista de bloqueados no tiene valor).

Utilice la consola web o un nodo sling:OsgiConfig para configurar las siguientes propiedades. Para nodos de sling:OsgiConfig, el PID del servicio Administrador de consumidores de trabajos es org.apache.sling.event.impl.jobs.JobConsumerManager.

Nombre de propiedad en la consola web
ID de OSGi
Descripción
Lista de permitidos del tema
job.consumermanager.whitelist
Lista de temas que procesa el servicio JobManager local. El valor predeterminado de * hace que todos los temas se envíen al servicio TopicConsumer registrado.
Lista de bloqueados del tema
job.consumermanager.blacklist
Lista de temas que el servicio JobManager local no procesa.

Creación De Agentes De Replicación Para Descargar creating-replication-agents-for-offloading

El marco de trabajo de descarga utiliza la replicación para transportar recursos entre el autor y el trabajador. El marco de trabajo de descarga crea automáticamente agentes de replicación cuando las instancias se unen a la topología. Los agentes se crean con valores predeterminados. Cambiar manualmente la contraseña que utilizan los agentes para la autenticación.

CAUTION
Un problema conocido con los agentes de replicación generados automáticamente requiere que cree manualmente nuevos agentes de replicación.

Cree los agentes de replicación que transportan las cargas útiles de trabajo entre instancias para la descarga. La siguiente ilustración muestra los agentes que es necesario descargar del autor a una instancia de trabajo. El autor tiene un Sling ID de 1 y la instancia de trabajo tiene un Sling ID de 2:

chlimage_1-115

Esta configuración requiere los tres agentes siguientes:

  1. Un agente saliente en la instancia de autor que replica en la instancia de trabajador.
  2. Un agente inverso en la instancia de autor que extrae de la bandeja de salida en la instancia de trabajador.
  3. Un agente de bandeja de salida en la instancia de trabajador.

Este esquema de replicación es similar al utilizado entre las instancias de autor y publicación. Sin embargo, para la situación de descarga, todas las instancias implicadas son instancias de creación.

NOTE
El marco de trabajo de descarga utiliza la topología para obtener las direcciones IP de las instancias de descarga. A continuación, el marco de trabajo crea automáticamente los agentes de replicación en función de estas direcciones IP. Si las direcciones IP de las instancias de descarga cambian posteriormente, el cambio se propaga automáticamente en la topología después de que se reinicie la instancia. Sin embargo, el marco de trabajo de descarga no actualiza automáticamente los agentes de replicación para reflejar las nuevas direcciones IP. Para evitar esta situación, utilice direcciones IP fijas para todas las instancias de la topología.

Nombrar los agentes de replicación para la descarga naming-the-replication-agents-for-offloading

Use un formato específico para la propiedad Name de los agentes de replicación para que el marco de trabajo de descarga utilice automáticamente el agente correcto para instancias de trabajo específicas.

Nombrar al agente saliente en la instancia de autor:

offloading_<slingid>, donde <slingid> es el ID de Sling de la instancia de trabajo.

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

Nombrar el agente inverso en la instancia de autor:

offloading_reverse_<slingid>, donde <slingid> es el ID de Sling de la instancia de trabajo.

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

Nombrar la bandeja de salida en la instancia de trabajador:

offloading_outbox

Creación del agente saliente creating-the-outgoing-agent

  1. Crear un agente de replicación en el autor. (Consulte la documentación de los agentes de replicación). Especifique cualquier Título. Name debe seguir la convención de nomenclatura.

  2. Cree el agente con las siguientes propiedades:

    table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2
    Propiedad Valor
    Configuración > Tipo de serialización Predeterminado
    Transporte > URI de transporte https://<ip of target instance>:<port>/bin/receive?sling:authRequestLogin=1
    Transporte > Usuario de transporte Replicación del usuario en la instancia de destino
    Transporte > Contraseña de transporte Contraseña de usuario de replicación en la instancia de destino
    Extendido > Método HTTP POST
    Déclencheur > Ignorar predeterminado Verdadero

Creación del agente inverso creating-the-reverse-agent

  1. Crear un agente de replicación inversa en autor. (Consulte la documentación de los agentes de replicación.) Especifique cualquier Título. Name debe seguir la convención de nomenclatura.

  2. Cree el agente con las siguientes propiedades:

    table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2
    Propiedad Valor
    Configuración > Tipo de serialización Predeterminado
    Transporte > URI de transporte https://<ip of target instance>:<port>/bin/receive?sling:authRequestLogin=1
    Transporte > Usuario de transporte Replicación del usuario en la instancia de destino
    Transporte > Contraseña de transporte Contraseña de usuario de replicación en la instancia de destino
    Extendido > Método HTTP GET

Creación del agente de bandeja de salida creating-the-outbox-agent

  1. Crear un agente de replicación en la instancia de trabajo. (Consulte la documentación de los agentes de replicación.) Especifique cualquier Título. Name debe ser offloading_outbox.

  2. Cree el agente con las siguientes propiedades.

    table 0-row-2 1-row-2 2-row-2 3-row-2
    Propiedad Valor
    Configuración > Tipo de serialización Predeterminado
    Transporte > URI de transporte repo://var/replication/outbox
    Déclencheur > Ignorar predeterminado Verdadero

Búsqueda del ID de Sling finding-the-sling-id

Obtenga el ID de Sling de una instancia de Experience Manager mediante cualquiera de los siguientes métodos:

  • Abra la consola web y, en la configuración de Sling, busque el valor de la propiedad Sling ID (http://localhost:4502/system/console/status-slingsettings). Este método es útil si la instancia aún no forma parte de la topología.
  • Utilice el Explorador de topología si la instancia ya forma parte de la topología.

Lectura adicional further-reading

Además de los detalles presentados en esta página, también puede leer lo siguiente:

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2