DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Mobile magazine DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Cache distribuído - Artigo Web Mobile 34

Manter um web site envolve vários fatores que vão desde a programação em si, até a alocação de um servidor apropriado para sua hospedagem. Existe um fator que muitos ignoram no momento do desenvolvimento. O crescimento de acessos. Quanto mais acessos simultâneos um web site possui, mais pesado ele se torna para quem está tenta abri-lo. Existem técnicas que contornam esse problema. Neste artigo será abordado o recurso de utilização de cache.






Cache distribuído
Aumente a performance de seu site

 
Vou contar uma estória aqui que certamente é conhecida. Foi dado a uma equipe um projeto de web site para ser desenvolvido. Quando o projeto foi dado como pronto, foi hospedado em um bom serviço de hospedagem. Os desenvolvedores continuaram empenhados em implementar coisas novas, mas após algum tempo de uso, o proprietário do web site procurou novamente a equipe e reportou um problema que não era esperado: lentidão. Usuários desse web site começaram a reclamar do tempo de respostas e aos poucos iam diminuindo suas visitações, consequentemente o proprietário ia perdendo mercado. Os desenvolvedores então reviam seus códigos, olharam a estrutura do serviço de hospedagem, mas não conseguiam encontram o problema. Realmente não havia problema algum nisso, mas sim, na forma que a estrutura era utilizada.

Apontando o problema
O ambiente de testes raramente é o mesmo do ambiente de produção. Um serviço de hospedagem de qualidade geralmente possui múltiplos servidores que controlam a carga dos web sites hospedados, realizando o devido redirecionamento quando for necessário. Durante o desenvolvimento esse cenário não é reproduzido. Como esses servidores não apontam para um mesmo local, mesmo que um primeiro acesso carregue os dados para o cache local de um servidor, ao ser acessado uma segunda vez, um segundo servidor pode ser acionado e acabar por carregar novamente os dados colocando-os em seu cache.

Descobrindo a solução
Em um ambiente onde se tenha vários servidores, cada um possuindo sua própria memória, a implementação de um cache local não funciona, pois esses servidores não compartilham esse cache. A solução é empregar o cache distribuído.
O cache distribuído toma para si a responsabilidade de centralizar informações e compartilha-las nos possíveis servidores existentes. A Figura 1 demonstra sua aplicação.


Em um ambiente de cache distribuído existe um servidor que é utilizado para suprir o cache de informações para qualquer outro servidor. Assim, quando um outro servidor vai realizar a requisição de informações ele não acessa mais diretamente a fonte de dados, mas pede ao servidor de cache a informação que ele necessita. Se essa informação já existir no cache ela é retornada ao servidor solicitante sem tocar a fonte de dados, caso contrário é permitido ao servidor solicitante obter essa informação e ele por sua vez já a aloca em cache e prossegue com seu procedimento normalmente. A informação deixada fica disponível para qualquer outra requisição. Se outro servidor requer essa mesma informação outrora acessada, ela é obtida de forma muito mais veloz porque está no cache, em memória.
"


ATENÇÃO! A exibição deste artigo foi interrompida.


  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Mobile magazine DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!






    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!



Publicidade
Autor
Paulo Quicoli

Editor Geral da revista ClubeDelphi e editor técnico da .NET Magazine. Formado em processamento de dados pela FATEC-TQ. Atua como arquiteto de projetos .NET na Siplan Control-M unidade Jaboticabal (www.siplancontrolm.com.br), prof. na FATEC-TQ e consultor na NHibernate Brasil (www.nhibernatebrasil.n...


Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
0   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03