A descarga distribui tarefas de processamento que somam instâncias de Experience Manager em uma topologia. Com o descarregamento, você pode usar instâncias de Experience Manager específicas para executar tipos específicos de processamento. O processamento especializado permite maximizar o uso dos recursos disponíveis do servidor.
A descarga é baseada nos recursos Apache Sling Discovery e Sling JobManager. Para usar a descarga, adicione clusters de Experience Manager a uma topologia e identifique os tópicos de trabalho que o cluster processa. Os clusters são compostos de uma ou mais instâncias Experience Manager, de modo que uma única instância é considerada um cluster.
Para obter informações sobre como adicionar instâncias a uma topologia, consulte Administrando topologias.
O Sling JobManager e o JobConsumer permitem a criação de jobs que são processados em uma topologia:
Quando o JobManager cria um job, a estrutura de Descarregamento seleciona um cluster Experience Manager na topologia para executar o job:
Consulte Configurando o Consumo de Tópico para obter informações sobre como refinar a distribuição de tarefas.
Quando a estrutura de Descarregamento seleciona um cluster para executar um job e o cliente é composto de várias instâncias, a Distribuição de Sling determina qual instância no cluster executa o job.
A estrutura de descarga oferece suporte a cargas de trabalho que associam jobs a recursos no repositório. As cargas de trabalho são úteis quando as tarefas são criadas para recursos de processamento e a tarefa é descarregada para outro computador.
Após a criação de um cargo, a carga fica apenas garantida na instância que cria o job. Ao descarregar a tarefa, os agentes de replicação garantem que a carga seja criada na instância que eventualmente consuma a tarefa. Quando a execução da tarefa é concluída, a replicação reversa faz com que a carga seja copiada de volta para a instância que criou a tarefa.
As topologias são clusters de Experience Manager que estão participando da descarga. Um cluster consiste em uma ou mais instâncias de servidor de Experience Manager (uma única instância é considerada um cluster).
Cada instância de Experience Manager executa os seguintes serviços relacionados à descarga:
O Serviço de descoberta de todos os membros da topologia aponta para o Conector de topologia em um dos membros. Nas seções a seguir, esse membro é chamado de membro raiz.
Cada cluster na topologia contém uma instância reconhecida como líder. O líder do cluster interage com a topologia em nome dos outros membros do cluster. Quando o pontilhado deixa o cluster, um novo pontilhado do cluster é automaticamente escolhido.
Use o Navegador de topologia para explorar o estado da topologia na qual a instância do Experience Manager está participando. O Navegador de topologia mostra os clusters e as instâncias da topologia.
Para cada cluster, você verá uma lista de membros do cluster que indica a ordem na qual cada membro ingressou no cluster e qual membro é o Líder. A propriedade Current indica a instância que você está administrando no momento.
Para cada instância do cluster, é possível ver várias propriedades relacionadas à topologia:
Usando a interface de usuário para toque, clique na guia Ferramentas. (http://localhost:4502/tools.html)
Na área Operações de granito, clique em Descarregamento do navegador.
No painel de navegação, clique em Navegador de topologia.
Os clusters que estão participando da topologia são exibidos.
Clique em um cluster para ver uma lista das instâncias no cluster e sua ID, status atual e status de pontilhado.
Clique em uma ID de instância para ver as propriedades mais detalhadas.
Você também pode usar o Console da Web para obter informações sobre topologia de visualização. O console fornece mais informações sobre os clusters de topologia:
Use o seguinte procedimento para abrir a página Gerenciamento de topologia do Console da Web:
Abra o Console da Web em seu navegador. (http://localhost:4502/system/console)
Clique em Principal > Gerenciamento de topologia.
O serviço de descoberta baseado em recursos do Apache Sling é executado em cada instância para controlar como as instâncias do Experience Manager interagem com uma topologia.
O serviço Discovery envia solicitações POST periódicas (pulsações) aos serviços do Topology Connector para estabelecer e manter conexões com a topologia. O serviço Topology Connector mantém uma lista de permissões de endereços IP ou nomes de host que podem participar da topologia:
Use o console da Web ou um nó sling:OsgiConfig para configurar as seguintes propriedades do serviço org.apache.sling.detection.impt.Config:
Nome da Propriedade | Nome OSGi | Descrição | Valor padrão |
---|---|---|---|
Tempo limite do Heartbeat (segundos) | HeartbeatTimeout | A quantidade de tempo em segundos para aguardar uma resposta de pulsação antes que a instância de destino seja considerada indisponível. | 20 |
Intervalo de pulsação (segundos) | HeartbeatInterval | A quantidade de tempo em segundos entre as pulsações. | 15 |
Atraso mínimo no Evento (segundos) | minEventDelay | Quando uma alteração ocorre na topologia, o tempo necessário para atrasar a alteração de estado de TOPOLOGY_CHANGING para TOPOLOGY_CHANGED. Cada alteração que ocorre quando o estado é TOPOLOGY_CHANGING aumenta o atraso nessa quantidade de tempo. Esse atraso impede que os ouvintes sejam inundados com eventos. Para não usar atraso, especifique 0 ou um número negativo. |
3 |
URLs do conector de topologia | topologyConnectorUrls | Os URLs dos serviços do Topology Connector para enviar mensagens de pulsação. | http://localhost:4502/libs/sling/topology/connector |
Lista de permissões do conector de topologia | topologyConnectorWhitelist | A lista de endereços IP ou nomes de host que o serviço local do Topology Connector permite na topologia. | localhost 127.0.0.1 |
Nome do descritor do repositório | leaderElectionRepositoryDescriptor | <sem valor> |
Use o procedimento a seguir para conectar uma instância do CQ ao membro raiz de uma topologia. O procedimento aponta a instância para o URL do Conector de topologia do membro de topologia raiz. Execute esse procedimento em todos os membros da topologia.
Execute o seguinte procedimento no membro raiz da topologia. O procedimento adiciona os nomes dos outros membros da topologia à lista de permissões do Discovery Service.
Use o navegador de descarga para configurar o consumo de tópicos das instâncias de Experience Manager na topologia. Para cada instância, é possível especificar os tópicos que ela consome. Por exemplo, para configurar sua topologia de forma que somente uma instância consuma tópicos de um tipo específico, desative o tópico em todas as instâncias, exceto uma.
Os trabalhos são instâncias distribuídas de quantidade que têm o tópico associado ativado usando a lógica round-robin.
Usando a interface de usuário para toque, clique na guia Ferramentas. (http://localhost:4502/tools.html)
Na área Operações de granito, clique em Descarregamento do navegador.
No painel de navegação, clique em Descarregamento do navegador.
Os tópicos de descarga e as instâncias do servidor que podem consumir os tópicos são exibidos.
Para desativar o consumo de um tópico para uma instância, abaixo do nome do tópico, clique em Desativar ao lado da instância.
Para configurar todo o consumo de tópico de uma instância, clique no identificador de instância abaixo de qualquer tópico.
Clique em um dos seguintes botões ao lado de um tópico para configurar o comportamento de consumo da instância e clique em Salvar:
Observação: quando você seleciona Exclusivo para um tópico, todos os outros tópicos são automaticamente definidos como Desativado.
Várias implementações do JobConsumer são instaladas com o Experience Manager. Os tópicos para os quais esses Consumidores de trabalho estão registrados são exibidos no Navegador de descarga. Os tópicos adicionais que aparecem são aqueles que JobConsumers personalizados registraram. A tabela a seguir descreve o JobConsumers padrão.
Tópico do trabalho | PID do serviço | Descrição |
---|---|---|
/ | org.apache.sling.event.impl.jobs.deprecated.EventAdminBridge | Instalado com o Apache Sling. Processa trabalhos que o administrador do evento OSGi gera, para compatibilidade com versões anteriores. |
com/day/cq/Replication/job/* | com.day.cq.replication.impl.AgentManagerImpl | Um agente de replicação que replica cargas de trabalho. |
com/adobe/granite/workflow/offloading | com.adobe.granite.workflow.core.offloading.WorkflowOffloadingJobConsumer | Processa trabalhos que o fluxo de trabalho do DAM Update Asset Offloader gera. |
O serviço Apache Sling Job Consumer Manager fornece propriedades de lista de permissões e lista de bloqueios de tópicos. Configure essas propriedades para ativar ou desativar o processamento de tópicos específicos em uma instância do Experience Manager.
Observação: se a instância pertencer a uma topologia, você também poderá usar o Navegador de descarga em qualquer computador na topologia para ativar ou desativar tópicos.
A lógica que cria a lista de tópicos ativados primeiro permite todos os tópicos que estão na lista de permissões e, em seguida, remove tópicos que estão na lista de bloqueios. Por padrão, todos os tópicos estão ativados (o valor da lista de permissões é *
) e nenhum tópico está desativado (a lista de bloqueios não tem valor).
Use o Console da Web ou um nó sling:OsgiConfig
para configurar as seguintes propriedades. Para nós sling:OsgiConfig
, o PID do serviço Gerenciador de Consumidores de Trabalho é org.apache.sling.evento.impl.jobs.JobConsumerManager.
Nome da propriedade no console da Web | ID do OSGi | Descrição |
---|---|---|
Lista de permissões do tópico | job.consumermanager.whitelist | Uma lista de tópicos que o serviço local do JobManager processa. O valor padrão do * faz com que todos os tópicos sejam enviados para o serviço TopicConsumer registrado. |
Lista negra de tópicos | job.consumermanager.blacklist | Uma lista de tópicos que o serviço local do JobManager não processa. |
A estrutura de descarga usa replicação para transportar recursos entre o autor e o trabalhador. A estrutura de descarga cria automaticamente agentes de replicação quando as instâncias ingressam na topologia. Os agentes são criados com valores padrão. Você deve alterar manualmente a senha que os agentes usam para autenticação.
Um problema conhecido com os agentes de replicação gerados automaticamente requer a criação manual de novos agentes de replicação. Siga o procedimento em Problemas ao usar os agentes de replicação gerados automaticamente antes de criar os agentes para descarga.
Crie os agentes de replicação que transportam cargas de trabalho entre instâncias para descarregamento. A ilustração a seguir mostra os agentes que devem ser descarregados do autor para uma instância de trabalho. O autor tem uma Sling ID de 1 e a instância do trabalhador tem uma Sling ID de 2:
Essa configuração exige os três agentes a seguir:
Esse esquema de replicação é semelhante ao usado entre as instâncias de autor e publicação. No entanto, para a situação de descarregamento, todas as instâncias envolvidas são instâncias de criação.
A estrutura de descarga usa a topologia para obter os endereços IP das instâncias de descarga. A estrutura então cria automaticamente os agentes de replicação com base nesses endereços IP. Se os endereços IP das instâncias de descarga forem alterados posteriormente, a alteração será propagada automaticamente na topologia depois que a instância for reiniciada. No entanto, a estrutura de descarga não atualiza automaticamente os agentes de replicação para refletir os novos endereços IP. Para evitar essa situação, use endereços IP fixos para todas as instâncias na topologia.
Use um formato específico para a propriedade Name dos agentes de replicação para que a estrutura de descarga use automaticamente o agente correto para instâncias de trabalho específicas.
Nomear o agente de saída na instância do autor:
offloading_<slingid>
, onde <slingid>
é a Sling ID da instância do trabalhador.
Exemplo: offloading_f5c8494a-4220-49b8-b079-360a72f71559
Nomear o agente reverso na instância do autor:
offloading_reverse_<slingid>
, onde <slingid>
é a Sling ID da instância do trabalhador.
Exemplo: offloading_reverse_f5c8494a-4220-49b8-b079-360a72f71559
Nomear a caixa de saída na instância do trabalhador:
offloading_outbox
Crie um Agente de Replicação no autor. (Consulte a documentação para agentes de replicação). Especifique qualquer Título. O Name deve seguir a convenção de nomenclatura.
Crie o agente usando as seguintes propriedades:
Propriedade | Valor |
---|---|
Configurações > Tipo de serialização | Padrão |
Transporte >URI de transporte | https://<ip of target instance> :<port> /bin/receive?sling:authRequestLogin=1 |
Transporte > Usuário de transporte | Usuário de replicação na instância do público alvo |
Transporte > Senha de transporte | Senha do usuário de replicação na instância do público alvo |
Estendido > Método HTTP | POST |
Acionadores > Ignorar padrão | Verdadeiro |
Crie um Agente de Replicação Inverso no autor. (Consulte a documentação para agentes de replicação.) Especifique qualquer Título. O Name deve seguir a convenção de nomenclatura.
Crie o agente usando as seguintes propriedades:
Propriedade | Valor |
---|---|
Configurações > Tipo de serialização | Padrão |
Transporte >URI de transporte | https://<ip of target instance> :<port> /bin/receive?sling:authRequestLogin=1 |
Transporte > Usuário de transporte | Usuário de replicação na instância do público alvo |
Transporte > Senha de transporte | Senha do usuário de replicação na instância do público alvo |
Estendido > Método HTTP | GET |
Crie um Agente de Replicação na instância do trabalhador. (Consulte a documentação para agentes de replicação.) Especifique qualquer Título. O Name tem de ser offloading_outbox
.
Crie o agente usando as seguintes propriedades.
Propriedade | Valor |
---|---|
Configurações > Tipo de serialização | Padrão |
Transporte >URI de transporte | repo://var/replication/outbox |
Acionador > Ignorar padrão | Verdadeiro |
Obtenha a Sling ID de uma instância Experience Manager usando um dos seguintes métodos:
Configure as instâncias de uma topologia para que instâncias específicas executem o processamento em segundo plano de ativos adicionados ou atualizados no DAM.
Por padrão, o Experience Manager executa o fluxo de trabalho Atualizar ativo DAM quando um ativo DAM é alterado ou um é adicionado ao DAM. Altere o comportamento padrão para que o Experience Manager execute o fluxo de trabalho do DAM Update Asset Offloader. Este fluxo de trabalho gera um trabalho do JobManager que tem um tópico de com/adobe/granite/workflow/offloading
. Em seguida, configure a topologia para que o trabalho seja descarregado para um funcionário dedicado.
Nenhum fluxo de trabalho deve ser temporário quando usado com a descarga do fluxo de trabalho. Por exemplo, o fluxo de trabalho Atualizar ativo do DAM não deve ser temporário quando usado para descarregamento de ativos. Para definir/desdefinir o sinalizador transitório em um fluxo de trabalho, consulte Workflows transitórios.
O procedimento a seguir assume as seguintes características para a topologia de descarga:
Em cada instância de Experience Manager, configure o serviço Discovery para que aponte para o conector Topografia raiz. (Consulte Configurando a associação de topologia.)
Configure o Conector de Topografia raiz para que as instâncias de conexão estejam na lista de permissões.
Abra o navegador de descarga e desative o tópico com/adobe/granite/workflow/offloading
nas instâncias com as quais os usuários interagem para carregar ou alterar ativos do DAM.
Em cada instância com a qual os usuários interagem para carregar ou alterar ativos DAM, configure os iniciadores de fluxo de trabalho para usar o fluxo de trabalho de Descarregamento de ativos de atualização DAM:
Nas instâncias que executam o processamento em segundo plano de ativos DAM, desative os iniciadores de fluxo de trabalho que executam o fluxo de trabalho do Ativo de atualização DAM.
Além dos detalhes apresentados nesta página, você também pode ler o seguinte: