Soluções de Web Caching e Web Acceleration - Domingos Parra Novo

  • 1,241 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,241
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
29
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. 1º Seminário de Software Livre Tchelinux Software Livre: leve adiante esta idéia Soluções de Web Caching e Web Acceleration Domingos Parra Novo domingosnovo@terra.com.br
  • 2. Tópicos • Introdução • Caches transparentes – O que são web caches? – Objetivos – Objetivos de uso – Prós e contras – Tipos de web caches – Exemplos • Proxy servers • Web accelerators – Funcionamento básico – Objetivos – Exemplo de uso – Exemplo de uso • Hierarquias de cache • Referências – Como funcionam? • Perguntas? – Caches “irmãos” – Caches “pais”
  • 3. Introdução: O que são web caches? “Um web cache é um serviço encontrado entre um servidor web, e um ou mais clientes HTTP. Esse serviço tem por responsabilidade analisar (e na maioria das vezes, fazer uma cópia) das requisições HTTP (páginas HTML, imagens e outros arquivos inclusos).” “Sempre que houver uma outra requisição para a mesma URL, a cópia dos objetos da requisição original pode ser reutilizada, ao invés destes serem solicitados ao servidor web novamente.”
  • 4. Introdução: Objetivos de uso Há basicamente dois tipos de uso para um web cache: redução de latência: Quando uma requisição é atendida por um cache (que está mais próximo ao cliente) ao invés do servidor HTTP de origem, esta costuma levar menos tempo para ser atendida. Isto faz com que a “web” tenha uma maior sensação de velocidade. redução de tráfego de rede: ao se reutilizar os objetos de uma requisição HTTP, isto reduz a utilização de banda pelo cliente, fazendo com que os custos com uso de banda sejam menores.
  • 5. Introdução: Tipos de web caches Browser caches: É o cache feito localmente (em disco local), pelo proprio browser. Tem o objetivo de melhorar a sensação de velocidade do browser. Proxy caches: Utilizam o mesmo principio do browser cache, porém, em uma escala muito maior. Utilizam servidores externos para armazenar os objetos em cache. Surrogate caches (ou caches reversos): São caches configurados junto aos servidores web, com objetivo de deixar os sites com uma melhor performance, mais escaláveis e confiáveis.
  • 6. Proxy Servers - Funcionamento Um ou mais clientes fazem requisições HTTP a partir de uma mesma rede. Sem o uso de uma estrutura de cache, requisições de clientes distintos para um mesmo servidor web são duplicadas. A implementação de um proxy server tem por objetivo consolidar um cache de requisições HTTP entre clientes distintos. Uso clássico: Configura-se um servidor qualquer, com o software “squid” configurado como um proxy server. Todos clientes que tiverem seus web browsers (IE, firefox, outros) configurados para acessar esse proxy, compartilharão o cache “consolidado” no squid.
  • 7. Proxy Servers – Exemplo de uso
  • 8. Hierarquias de cache – Como funcionam? O funcionamento de um proxy cache é relativamente simples. Recebe requisições de um cliente HTTP, que verifica se já possui o objeto solicitado em seu cache local. O uso de hierarquias permite que essa funcionalidade seja expandida para vários servidores ao mesmo tempo. Basicamente falando, o uso de hierarquias permite que o cache de um proxy server seja utilizado por outros servidores. Essa comunicação entre servidores costuma utilizar o protocolo ICP (Internet Cache Protocol). Também pode ser utilizado o protocolo HTCP (Hyper Text Caching Protocol).
  • 9. Hierarquias de cache - sibling
  • 10. Hierarquias de cache - parent
  • 11. Caches transparentes - Objetivos Tem por objetivo básico servir como um proxy que atue de forma “transparente” para o usuário. Essa transparência engloba dois itens: não há a necessidade de configurar o browser do usuário para utilizar o cache; o browser do usuário não toma conhecimento da existência do cache. É implementado obrigatóriamente no “caminho” que a requisição HTTP percorre (em um roteador ou firewall). Pode ser um linux ou freebsd (usando iptables, tproxy e outros), ou utilizar o protocolo wccp (Web Cache Communication Protocol) em roteadores ou firewalls que suportem esse protocolo.
  • 12. Caches transparentes – Prós e contras – Vantagens: • Administração simplificada (não há a necessidade de se configurar o browser do usuário) Controle centralizado (o administrador define se o usuário pode ou não utilizar o cache) – Desvantagens: • Falta de robustez (conexões persistentes podem ser “perdidas”, quando uma rota internet é modificada) • Falta de controle do usuário (forçado a usar um cache) • Dependência dos browsers (precisam implementar o protocolo HTTP corretamente)
  • 13. Caches transparentes - Exemplos
  • 14. Web Accelerators - Objetivos Web Accelerators (também chamado de reverse proxies, ou surrogate proxies), apesar de funcionarem de forma semelhante a caches normais, possuem uma característica específica: trabalham no lado oposto da requisição HTTP. Essa configuração de caches tem por objetivos: • reduzir a carga nos servidores WWW, fazendo cache de requisições “pesadas” (e cacheáveis) • aumentar a escalabilidade dos servidores WWW (sem aumentar a complexidade do serviço) • Distribuir o conteúdo de forma global, em caches locais (CDN, content delivery networks)
  • 15. Web Accelerators – exemplo de uso
  • 16. Referências http://www.squid-cache.org/ http://wiki.squid-cache.org/SquidFaq http://www.visolve.com/squid/whitepapers/index.php
  • 17. Perguntas? Contato: Domingos Parra Novo Terra Networks Brasil domingosnovo@terra.com.br