Práticas recomendadas para envio de conteúdo

Nesta página, você encontrará as práticas recomendadas para otimizar e acelerar o fornecimento de conteúdo com o Cloud CDN.

O Cloud CDN usa o balanceamento de carga HTTP(S) como a origem de conteúdo armazenável em cache. Um balanceador de carga HTTP(S) pode fornecer uma combinação de conteúdo estático e dinamicamente criado para os usuários por meio de um endereço IP global dos grupos de instâncias de máquina virtual (VM) do Google Compute Engine, dos intervalos do Google Cloud Storage ou de ambos.

Devido à integração perfeita com o Google Cloud Platform, você tem várias opções para implantar o Cloud CDN e gerenciar conteúdo. Use as práticas recomendadas listadas aqui para planejar e refinar sua implantação. Para mais informações, consulte Como usar o Cloud CDN.

Como definir a expiração de conteúdo temporário

Cada conteúdo de um cache do Cloud CDN tem um intervalo de expiração específico, e é importante definir um intervalo adequado para seu caso de uso. Você precisa escolher a expiração com cuidado, já que os servidores de origem reenviam o conteúdo que expira nos servidores de cache.

Uma maneira de escolher a expiração é classificar o conteúdo com base na frequência com que você o atualiza, por exemplo:

  1. Atualizações quase em tempo real, por exemplo, feeds ao vivo para eventos esportivos ou tráfego.
  2. Atualizações frequentes, como informações meteorológicas semanais, diárias ou por hora, ou imagens de notícias de primeira página.
  3. Atualizações não frequentes, como um logotipo de um site ou arquivos CSS ou JavaScript.

Em seguida, escolha a expiração por categoria de conteúdo. Por exemplo, um intervalo de expiração de cinco segundos pode ser ideal para placares de jogos quase em tempo real. Já um intervalo de expiração de uma hora pode ser usado para atualizações meteorológicas. Para o conteúdo armazenado no Cloud Storage, defina os tempos de expiração usando os metadados do Cache-Control. Quando o conteúdo é veiculado pelo Compute Engine, é possível controlar os esses intervalos por meio da configuração do seu software de servidor da Web.

Os intervalos de expiração são especificados pelos valores max-age e s-maxage no cabeçalho de controle de cache. Esse cabeçalho é definido pela especificação HTTP. Por exemplo, o seguinte controle de cache torna o conteúdo associado publicamente legível e armazenado em cache com uma expiração de cache de 72 horas (259.200 segundos):

 Cache-Control: public, max-age=259200

Para maximizar o armazenamento em cache, siga as diretrizes em Detalhes de armazenamento em cache. Lembre que os valores de max-age e s-maxage no campo de metadados do controle de cache funcionam juntos das seguintes maneiras:

  • Os valores max-age e s-maxage são medidos em segundos.
  • O valor s-maxage é aplicável apenas a caches compartilhados, e não caches de navegador.
  • O valor max-age é aplicável a todos os caches, a menos que s-maxage o modifique.

Para conteúdo que é alterado com baixa frequência ou que mudar junto com o conteúdo relacionado, muitas vezes é adequado usar um intervalo de expiração mais longo com URLs de versão.

Como usar chaves de cache personalizadas para melhorar a proporção de ocorrência em cache

Por padrão, o Cloud CDN usa o URL de solicitação completo para criar a chave de cache. Para desempenho e escalabilidade, é importante otimizar a proporção de ocorrência em cache. Para ajudar a otimizar essa proporção, use as chaves de cache personalizadas.

Armazenamento de chave-valor do Cloud CDN
Armazenamento de chave-valor do Cloud CDN

Personalize as chaves de cache para incluir ou omitir qualquer combinação de protocolo, host e string de consulta. Por exemplo, vamos supor que você tem dois sites em domínios diferentes que usam o mesmo logotipo. Para exibir o logotipo, use chaves de cache personalizadas da seguinte maneira:

  • O conteúdo do site é diferente, mas você usa o mesmo logotipo da empresa nos dois domínios. Ao ativar o Cloud CDN e personalizar as chaves de cache do serviço de back-end que detém o logotipo, desmarque a caixa de seleção Host para que o cache ignore o domínio, mas armazene o logotipo.
  • Seja exibido por meio de HTTP ou de HTTPS, o logotipo precisa estar armazenado em cache. Ao personalizar as chaves de cache para o serviço de back-end que detém o logotipo, desmarque a caixa de seleção Protocolo para que as solicitações por meio de HTTP e HTTPS contem como correspondências para a entrada de cache do logotipo.

Para saber como personalizar as chaves de cache, consulte Como usar chaves de cache.

Como usar URLs de versão para atualizar conteúdo

O controle do conteúdo de versão veicula uma versão diferente do mesmo conteúdo, removendo-o efetivamente. Para isso, o conteúdo novo é exibido aos usuários antes que a entrada do cache expire. Como o controle de versão é gratuito e fácil de usar, recomendamos que você o utilize como abordagem padrão para atualizar o conteúdo armazenado em cache. Para o conteúdo de versão, adicione um parâmetro ao URL, como um número de versão. Existem várias maneiras de incluir parâmetros em URLs:

  • Adicione uma string de consulta: file.ext?v=100
  • Altere o nome do arquivo: file.1.0.0.ext or file_v100.ext
  • Altere o caminho do arquivo: /v100/file.ext

Ao adicionar o parâmetro, o nome do arquivo e o URL são alterados. Essa alteração força o cache a ignorar qualquer entrada de cache existente.

Como usar a invalidação com moderação para remover conteúdo

A invalidação remove o conteúdo dos servidores de cache distribuídos do Cloud CDN antes da expiração do cache. A invalidação tem consistência eventual.

Use a invalidação com moderação e apenas como último recurso. Por exemplo, a invalidação é ideal para quando você precisa remover conteúdo por motivos legais ou por conta de um envio acidental. Caso contrário, use o controle de versão sempre que possível ou aguarde até que o conteúdo expire normalmente. Os servidores de cache do Cloud CDN despejam rotineiramente conteúdo acessado com pouca frequência para criar espaço para novos conteúdos. O conteúdo que não é acessado por 30 dias é removido incondicionalmente.

Diferente da definição do horário da expiração e do uso de URLs de versão, você será cobrado por cada invalidação de cache iniciada. Além disso, as invalidações de cache têm limitação de taxa.

Para saber mais sobre a invalidação, consulte Visão geral da invalidação de cache.

Avaliação de testes de desempenho de terceiros

Avalie relatórios de fornecedores externos, como os relatórios de disponibilidade, latência e capacidade fornecidos pela Comunidade Cedexis Radar.

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Cloud CDN