Como funciona uma CDN como o CloudFlare?

23

O que eu entendo até agora:

  • Você mantém sua hospedagem atual, mas altera os servidores DNS do seu site dos servidores DNS da sua hospedagem atual para os servidores DNS do CloudFlare.
  • O CloudFlare serve os recursos do seu site em vários data centers ao redor do mundo.

Agora, eu gostaria de conhecer os detalhes técnicos deste mecanismo. Aqui estão algumas das perguntas que tenho:

  1. O CloudFlare atua como um proxy de cache? Digamos que eu tenha um monte de imagens nas páginas do meu site. O CloudFlare armazena em cache todas as imagens em cada um de seus datacenters e as serve desses datacenters?

  2. Quais recursos do site são afetados? Apenas estáticos? E as próprias páginas da web (os documentos HTML)? E se as páginas forem geradas dinamicamente pelo meu servidor? Como o CloudFlare garante sempre a versão mais atualizada da página?

  3. E as solicitações POST para o meu site (por exemplo, um visitante que envia dados via Ajax, que é armazenado no banco de dados)? Este material deve ser executado no meu servidor. Então, o CloudFlare não aumenta (e não pode) aumentar o desempenho desse processo, certo? Então, o CloudFlare retransmite a solicitação do Ajax para o host original?

Šime Vidas
fonte

Respostas:

23
  1. Sim, é um proxy reverso de cache.
  2. "Depende". Por padrão, apenas coisas como imagens e CSS são armazenadas em cache, mas você pode definir o nível de cache por zona e definir Regras da Página para substituir o que está armazenado em cache ou não deve ser armazenado em cache. O HTML estático pode ser forçado a ser armazenado em cache por uma regra de página, mas o conteúdo dinâmico obviamente não pode. A exceção aqui é se você tiver o plano de negócios ou empresa ou se inscrever através de determinados parceiros de hospedagem, onde você terá acesso à tecnologia Railgun, na qual o CloudFlare buscará apenas as informações que foram alteradas em uma página, mesmo que sejam dinâmicas. Se você configurou o CloudFlare para armazenar em cache tudo, é necessário controlar o tempo limite do cache com cabeçalhos de cache na origem e / ou definindo o TTL do cache na sua zona na interface do usuário do CloudFlare.
  3. Os POSTs sempre devem ser enviados à origem, para que o CloudFlare apenas os passe diretamente. Você ainda deve obter um aumento no desempenho porque o CloudFlare usa anycast para servir DNS e HTTP a partir do data center mais próximo.

Divulgação completa: Trabalho para o CloudFlare.

James O'Gorman
fonte
5

Apenas para adicionar um pouco mais de clareza:

Há um artigo muito bom no Quora sobre como o CloudFlare funciona .

Quais recursos do site são afetados? Apenas estáticos? O que o CloudFlare armazena em cache por padrão .

"O CloudFlare age como um proxy de cache? Por exemplo, eu tenho várias imagens nas páginas do meu site. O CloudFlare armazena em cache todas essas imagens em cada um de seus data centers e as serve a partir desses data centers?"

Você pode estender nosso armazenamento em cache além do conteúdo estático com o PageRules.

Nota: Não armazenaremos em cache recursos de terceiros que estão no seu site (Flickr, Google, Facebook, etc.).

damoncloudflare
fonte
1

Para adicionar à resposta de Damon:

Você pode encontrar alguns tutoriais em vídeo úteis para configurar as Regras da página mais populares / recomendadas com o CloudFlare aqui:

cloudflare.com/features-page-rules

Além disso, se você esgotou as regras da página disponíveis no seu plano atual, em breve poderá comprar regras adicionais sem alterar os planos.

RyanK
fonte