Como liberar o cache do dispatcher quando há farms com pastas de cache separadas

Saiba como liberar o cache do dispatcher quando há farms com pastas de cache separadas. Definir cabeçalho do host e configurar a ID de usuário agente.

Descrição description

Ambiente

Serviços da Experience Cloud

Problema/Sintomas

Como liberar o cache do dispatcher quando há farms com pastas de cache separadas.

Resolução resolution

Para configurar um agente de liberação do dispatcher por farm de dispatchers, defina o cabeçalho do Host e configure a ID do usuário do agente com um usuário que tenha acesso de leitura a caminhos relevantes.

Nas soluções abaixo, pressupomos o seguinte:

  • Você está usando o Apache HTTP Server 2.2 ou versão posterior
  • Vários hosts virtuais configurados
  • Vários farms do dispatcher com caches separados

Por exemplo:

Configurações do Apache https VirtualHost:

NameVirtualHost *:80
<VirtualHost *:80>
 ServerName www.geometrixx.com
 ServerAlias *.geometrixx.com
 DocumentRoot /var/www/html/cache-www-geometrixx-com
 ...
</VirtualHost>
<VirtualHost *:80>
 ServerName www.geometrixx-outdoors.com
 ServerAlias *.geometrixx-outdoors.com
 DocumentRoot <Global Doc root>/site2
 Include <Configurations specific to site2>
</VirtualHost>
DocumentRoot /var/www/html/cache-www-geometrixx-outdoors-com

Na configuração do dispatcher, você tem vários farms configurados para lidar com sites diferentes por nome de host (virtualhosts):

/virtualhosts
 {
 "*geometrixx.com*"
 }
 /renders
 {
 ...
 }
 /cache {
 /docroot "/var/www/html/cache-www-geometrixx-com"

Configurar vários agentes de limpeza

Se você tiver apenas alguns farms do dispatcher separados (cinco ou menos), configurar vários agentes de limpeza é uma solução fácil.

ln -s /var/www/html/cache-www-geometrixx-com/libs /var/www/html/shared-cache
  1. Abra http://aem-host:port/miscadmin para cada instância de publicação do AEM.

  2. Navegar para Replicação >  Agentes no Publish.

  3. Clique em Editar.

  4. Na ID de Usuário Agente, digite o nome de um usuário que você criará mais tarde e que será associado a este agente. Você pode usar uma convenção de nomenclatura com o nome do host do site. Por exemplo: "flush-agent-www-geometrixx-com".

  5. Selecione a guia Estendida .

  6. Em HTTP Headers, adicione outro cabeçalho. Para o valor, digite "Host: www.geometrixx.com", onde "www.geometrixx.com" deve ser substituído por um dos hosts DNS dos sites.

  7. Clique em Ok para salvar.

  8. Vá para http://aem-host:port/useradmin  e crie o usuário a partir da etapa 4.

  9. Na guia Permissões do usuário, conceda a ele acesso de leitura a todos os caminhos que você deseja que o agente libere para o site referenciado. Por exemplo: /content/geometrixx, /content/dam, /etc, /libs, /apps, /var.

  10. Clique em Salvar.

  11. Repita as etapas de 1 a 10 para todos os outros sites em cada instância de publicação. Você criará um agente de liberação para cada site em cada instância de publicação.

  12. No servidor Web, compartilhe caminhos comuns usando symlinks. Por exemplo, você pode definir symlinks para /content/dam, /etc., /libs, /apps e /var para um local de cache comum. Em seguida, /content e qualquer item na raiz do cache seriam armazenados em cache separadamente. Este é um exemplo de comando para a pasta /libs

    code language-none
    ln -s /var/www/html/cache-www-geometrixx-com/libs /var/www/html/shared-cache
    
  13. Agora, quando você ativa páginas em um site específico, a solicitação de liberação é direcionada somente ao agente de limpeza aplicável.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f