SlideShare uma empresa Scribd logo
1 de 17
Baixar para ler offline
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
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”
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.”
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.
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.
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.
Proxy Servers – Exemplo de uso
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).
Hierarquias de cache - sibling
Hierarquias de cache - parent
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.
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)
Caches transparentes - Exemplos
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)
Web Accelerators – exemplo de
            uso
Referências



           http://www.squid-cache.org/

       http://wiki.squid-cache.org/SquidFaq

http://www.visolve.com/squid/whitepapers/index.php
Perguntas?



         Contato:


   Domingos Parra Novo
   Terra Networks Brasil
domingosnovo@terra.com.br

Mais conteúdo relacionado

Mais procurados

Microserviços - Cristiano dos Santos Diedrich - Tchelinux Bento Gonçalves 2017
Microserviços - Cristiano dos Santos Diedrich - Tchelinux Bento Gonçalves 2017Microserviços - Cristiano dos Santos Diedrich - Tchelinux Bento Gonçalves 2017
Microserviços - Cristiano dos Santos Diedrich - Tchelinux Bento Gonçalves 2017Tchelinux
 
Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Marcelo Dieder
 
Otimização front end
Otimização front endOtimização front end
Otimização front endErika Takahara
 
Cloud PostgreSQL em alta performance
Cloud PostgreSQL em alta performanceCloud PostgreSQL em alta performance
Cloud PostgreSQL em alta performanceSaveincloud
 
Java Escalável e com Alta Disponibilidade na Nuvem
Java Escalável e com Alta Disponibilidade na NuvemJava Escalável e com Alta Disponibilidade na Nuvem
Java Escalável e com Alta Disponibilidade na NuvemSaveincloud
 
Melhorando o desempenho do seu WordPress [WordCamp Porto Alegre 2015]
Melhorando o desempenho do seu WordPress [WordCamp Porto Alegre 2015]Melhorando o desempenho do seu WordPress [WordCamp Porto Alegre 2015]
Melhorando o desempenho do seu WordPress [WordCamp Porto Alegre 2015]Tiago Hillebrandt
 
Entregando conteúdo em ambientes extremos na JVM
Entregando conteúdo em ambientes extremos na JVMEntregando conteúdo em ambientes extremos na JVM
Entregando conteúdo em ambientes extremos na JVMRodrigo Zaccara
 
PostgreSQL Transformando um elefante numa manada
PostgreSQL Transformando um elefante numa manadaPostgreSQL Transformando um elefante numa manada
PostgreSQL Transformando um elefante numa manadaFabio Telles Rodriguez
 

Mais procurados (20)

Cache de dados com PHP
Cache de dados com PHPCache de dados com PHP
Cache de dados com PHP
 
CDN
CDNCDN
CDN
 
Microserviços - Cristiano dos Santos Diedrich - Tchelinux Bento Gonçalves 2017
Microserviços - Cristiano dos Santos Diedrich - Tchelinux Bento Gonçalves 2017Microserviços - Cristiano dos Santos Diedrich - Tchelinux Bento Gonçalves 2017
Microserviços - Cristiano dos Santos Diedrich - Tchelinux Bento Gonçalves 2017
 
Nginx, Apache e Varnish
Nginx, Apache e VarnishNginx, Apache e Varnish
Nginx, Apache e Varnish
 
Servidor proxy
Servidor proxyServidor proxy
Servidor proxy
 
Servidor proxy
Servidor proxyServidor proxy
Servidor proxy
 
Trabalho Proxy
Trabalho ProxyTrabalho Proxy
Trabalho Proxy
 
CEJS 0.0.2
CEJS 0.0.2CEJS 0.0.2
CEJS 0.0.2
 
Clusters
ClustersClusters
Clusters
 
NoSQL + Node.js
NoSQL + Node.jsNoSQL + Node.js
NoSQL + Node.js
 
Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?
 
NoSQL Livre
NoSQL LivreNoSQL Livre
NoSQL Livre
 
Otimização front end
Otimização front endOtimização front end
Otimização front end
 
Cloud PostgreSQL em alta performance
Cloud PostgreSQL em alta performanceCloud PostgreSQL em alta performance
Cloud PostgreSQL em alta performance
 
Java Escalável e com Alta Disponibilidade na Nuvem
Java Escalável e com Alta Disponibilidade na NuvemJava Escalável e com Alta Disponibilidade na Nuvem
Java Escalável e com Alta Disponibilidade na Nuvem
 
Melhorando o desempenho do seu WordPress [WordCamp Porto Alegre 2015]
Melhorando o desempenho do seu WordPress [WordCamp Porto Alegre 2015]Melhorando o desempenho do seu WordPress [WordCamp Porto Alegre 2015]
Melhorando o desempenho do seu WordPress [WordCamp Porto Alegre 2015]
 
Entregando conteúdo em ambientes extremos na JVM
Entregando conteúdo em ambientes extremos na JVMEntregando conteúdo em ambientes extremos na JVM
Entregando conteúdo em ambientes extremos na JVM
 
Slides nginx
Slides nginxSlides nginx
Slides nginx
 
PostgreSQL Transformando um elefante numa manada
PostgreSQL Transformando um elefante numa manadaPostgreSQL Transformando um elefante numa manada
PostgreSQL Transformando um elefante numa manada
 
Arquiteturas escaláveis e tolerantes a falhas
Arquiteturas escaláveis e tolerantes a falhasArquiteturas escaláveis e tolerantes a falhas
Arquiteturas escaláveis e tolerantes a falhas
 

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

Sistemas Distribuídos baseados na Web
Sistemas Distribuídos baseados na WebSistemas Distribuídos baseados na Web
Sistemas Distribuídos baseados na WebRafael Chagas
 
Melhorando o desempenho do seu WordPress
Melhorando o desempenho do seu WordPressMelhorando o desempenho do seu WordPress
Melhorando o desempenho do seu WordPressJulian Fernandes
 
CDNs – Introdução
CDNs – IntroduçãoCDNs – Introdução
CDNs – Introduçãoelliando dias
 
19-Sistemas Distribuidos.pptx
19-Sistemas Distribuidos.pptx19-Sistemas Distribuidos.pptx
19-Sistemas Distribuidos.pptxRoberto Aragy
 
Web Seminário sobre Varnish+Nginx+Apache
Web Seminário sobre Varnish+Nginx+ApacheWeb Seminário sobre Varnish+Nginx+Apache
Web Seminário sobre Varnish+Nginx+ApacheDell Technologies
 
Otimizacao de websites em PHP
Otimizacao de websites em PHPOtimizacao de websites em PHP
Otimizacao de websites em PHPFelipe Ribeiro
 
Introdução à Servlets e JSP
Introdução à Servlets e JSPIntrodução à Servlets e JSP
Introdução à Servlets e JSPledsifes
 
Cache em aplicações web
Cache em aplicações webCache em aplicações web
Cache em aplicações webJean Carlo Emer
 
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]Tiago Hillebrandt
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaAlexandre Tarifa
 
Técnicas de Programação para a Web
Técnicas de Programação para a WebTécnicas de Programação para a Web
Técnicas de Programação para a WebLuiz Cláudio Silva
 
Cap-6-Multiplrocessadores.pdf
Cap-6-Multiplrocessadores.pdfCap-6-Multiplrocessadores.pdf
Cap-6-Multiplrocessadores.pdfHurgelNeto
 

Semelhante a Soluções de Web Caching e Web Acceleration - Domingos Parra Novo (20)

Sistemas Distribuídos baseados na Web
Sistemas Distribuídos baseados na WebSistemas Distribuídos baseados na Web
Sistemas Distribuídos baseados na Web
 
Vamos conversar sobre cache
Vamos conversar sobre cacheVamos conversar sobre cache
Vamos conversar sobre cache
 
Slides
SlidesSlides
Slides
 
Melhorando o desempenho do seu WordPress
Melhorando o desempenho do seu WordPressMelhorando o desempenho do seu WordPress
Melhorando o desempenho do seu WordPress
 
Redes De Computador Alberane Proxy Windows
Redes De Computador   Alberane   Proxy   WindowsRedes De Computador   Alberane   Proxy   Windows
Redes De Computador Alberane Proxy Windows
 
CDNs – Introdução
CDNs – IntroduçãoCDNs – Introdução
CDNs – Introdução
 
19-Sistemas Distribuidos.pptx
19-Sistemas Distribuidos.pptx19-Sistemas Distribuidos.pptx
19-Sistemas Distribuidos.pptx
 
Web Seminário sobre Varnish+Nginx+Apache
Web Seminário sobre Varnish+Nginx+ApacheWeb Seminário sobre Varnish+Nginx+Apache
Web Seminário sobre Varnish+Nginx+Apache
 
Otimizacao de websites em PHP
Otimizacao de websites em PHPOtimizacao de websites em PHP
Otimizacao de websites em PHP
 
Introdução à Servlets e JSP
Introdução à Servlets e JSPIntrodução à Servlets e JSP
Introdução à Servlets e JSP
 
Servidor proxy
Servidor proxy Servidor proxy
Servidor proxy
 
Cache em aplicações web
Cache em aplicações webCache em aplicações web
Cache em aplicações web
 
Varnish cache
Varnish cacheVarnish cache
Varnish cache
 
Apache
ApacheApache
Apache
 
Preparando sua arquitetura para microservicos
Preparando sua arquitetura para microservicosPreparando sua arquitetura para microservicos
Preparando sua arquitetura para microservicos
 
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
 
Técnicas de Programação para a Web
Técnicas de Programação para a WebTécnicas de Programação para a Web
Técnicas de Programação para a Web
 
Cap-6-Multiplrocessadores.pdf
Cap-6-Multiplrocessadores.pdfCap-6-Multiplrocessadores.pdf
Cap-6-Multiplrocessadores.pdf
 
Servidor proxy Squid
Servidor proxy SquidServidor proxy Squid
Servidor proxy Squid
 

Mais de Tchelinux

Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...Tchelinux
 
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio GrandeInsegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio GrandeTchelinux
 
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...Tchelinux
 
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...Tchelinux
 
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio GrandeMe formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio GrandeTchelinux
 
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...Tchelinux
 
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...Tchelinux
 
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...Tchelinux
 
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...Tchelinux
 
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio GrandeConstruindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio GrandeTchelinux
 
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio GrandeBikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio GrandeTchelinux
 
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...Tchelinux
 
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...Tchelinux
 
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...Tchelinux
 
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019Tchelinux
 
Com que ônibus eu vou? Uma gentil introdução ao Python.
Com que ônibus eu vou? Uma gentil introdução ao Python.Com que ônibus eu vou? Uma gentil introdução ao Python.
Com que ônibus eu vou? Uma gentil introdução ao Python.Tchelinux
 
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.Tchelinux
 
Não deixe para testar depois o que você pode testar antes.
Não deixe para testar depois o que você pode testar antes. Não deixe para testar depois o que você pode testar antes.
Não deixe para testar depois o que você pode testar antes. Tchelinux
 
Desenvolvendo jogos com pygame
Desenvolvendo jogos com pygameDesenvolvendo jogos com pygame
Desenvolvendo jogos com pygameTchelinux
 
Essa câmera faz fotos muito boas, né?
Essa câmera faz fotos muito boas, né?Essa câmera faz fotos muito boas, né?
Essa câmera faz fotos muito boas, né?Tchelinux
 

Mais de Tchelinux (20)

Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
 
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio GrandeInsegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
 
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
 
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
 
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio GrandeMe formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
 
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
 
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
 
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
 
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
 
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio GrandeConstruindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
 
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio GrandeBikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
 
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
 
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
 
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
 
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
 
Com que ônibus eu vou? Uma gentil introdução ao Python.
Com que ônibus eu vou? Uma gentil introdução ao Python.Com que ônibus eu vou? Uma gentil introdução ao Python.
Com que ônibus eu vou? Uma gentil introdução ao Python.
 
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
 
Não deixe para testar depois o que você pode testar antes.
Não deixe para testar depois o que você pode testar antes. Não deixe para testar depois o que você pode testar antes.
Não deixe para testar depois o que você pode testar antes.
 
Desenvolvendo jogos com pygame
Desenvolvendo jogos com pygameDesenvolvendo jogos com pygame
Desenvolvendo jogos com pygame
 
Essa câmera faz fotos muito boas, né?
Essa câmera faz fotos muito boas, né?Essa câmera faz fotos muito boas, né?
Essa câmera faz fotos muito boas, né?
 

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

  • 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).
  • 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)
  • 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