ERRO no cache do CDN em cada POP para o mesmo URL de imagem
Este artigo descreve por que as imagens veiculadas por um servlet no Adobe Experience Manager as a Cloud Service podem resultar em erros de cache de CDN em diferentes Pontos de Presença de CDN (POPs), mesmo quando os cabeçalhos de controle de cache especificam um TTL de 24 horas, e fornece orientação sobre o comportamento esperado de armazenamento em cache de CDN.
Descrição description
Ambiente
Adobe Experience Manager as a Cloud Service (todas as versões)
Problema/Sintomas
Um servlet retorna imagens JPEG para páginas de armazenamento e define um cabeçalho Cache-Control: max-age=86400 (24 horas). No entanto, os logs de CDN mostram que o mesmo URL de imagem é obtido várias vezes da instância de publicação em um dia, com o status de cache MISS em diferentes locais de CDN (POPs).
Exemplo de entradas de log:
- Erro de cache no POP “RTM” para
/path/sample.jpg - Erro de cache no POP “TOJ” para
/path/sample.jpg
A expectativa é que a imagem seja armazenada em cache e veiculada a partir do CDN por 24 horas após a primeira solicitação, independentemente do POP. Em vez disso, cada POP enfrenta um MISS de cache em sua primeira solicitação para a imagem.
Causa
Cada POP CDN opera seu próprio cache. A primeira solicitação de um recurso em cada POP resulta em um ERRO, e somente as solicitações subsequentes desse POP são atendidas a partir do cache até que o TTL expire.
Resolução resolution
Para corrigir o problema, siga estas etapas:
- Entenda que cada POP CDN mantém seu próprio cache. A primeira solicitação para um determinado URL em cada POP resultará em um erro de cache; as solicitações subsequentes desse mesmo POP (enquanto TTL for válido) serão um HIT de cache.
- Certifique-se de que o servlet defina cabeçalhos de cache explícitos para o navegador e para o CDN. Use
Cache-Control: max-age=86400, publice considere adicionarSurrogate-Controlous-maxagepara TTL específico do CDN, se houver suporte. - Evite usar as diretivas
privateouno-store, pois elas impedem o armazenamento em cache do CDN. - Use ferramentas como
curle revise logs CDN para confirmar se a primeira solicitação em cada POP é um MISS e que as solicitações subsequentes do mesmo POP no TTL são HITs.
Para obter mais detalhes, consulte a documentação do cache do AEM as a Cloud Service CDN.