Qual é a diferença entre usar o verniz e o conteúdo em cache no memcached?

0

Precisamos implantar verniz se nosso aplicativo da Web estiver usando o memcached ou precisaremos do memcached se estivermos usando o verniz para armazenar em cache o conteúdo da web.

Alguém pode recomendar alguns cenários em que devemos usar um ou outro ou podem ser ambos.

    
por Ijaz Ahmad Khan 17.04.2016 / 22:53

2 respostas

5

Um servidor proxy HTTP e memcached são tecnologias diferentes que resolvem problemas diferentes e aplicam em diferentes camadas de sua pilha de software. Ambos podem ser úteis.

Um servidor proxy HTTP instalado na frente de seu aplicativo pode responder a solicitações de seu cache, evitando que o aplicativo precise lidar com parte do carregamento da solicitação. Isso só funciona se o aplicativo exibir conteúdo que possa ser armazenado em cache e se os usuários finais solicitarem o conteúdo mais de uma vez. Para que o conteúdo possa ser armazenado em cache, seu aplicativo precisa definir os cabeçalhos HTTP apropriados para permitir que servidores proxy (e navegadores) saibam o que pode ser armazenado em cache e por quanto tempo.

No caso de solicitações que chegam até o seu aplicativo (elas perdem o cache do proxy HTTP ou não há nenhum proxy HTTP), seu aplicativo precisa computar o conteúdo que precisa enviar de volta. Se esse cálculo é caro, mas partes dos dados podem ser armazenadas em cache de solicitações anteriores, memcached é uma boa maneira de seu aplicativo armazenar os resultados de [partes] desses cálculos para que possam ser reutilizados posteriormente. Seu aplicativo precisa ser escrito especificamente para fazer isso e se conectar a memcached instances para obter e definir esses dados.

    
por 17.04.2016 / 23:08
2

O Varnish serve para servir arquivos de páginas da Web, como html, js, css, imagens etc. Ele intercepta o tráfego HTTP entre os clientes da Internet e o servidor de aplicativos de back-end. O verniz ouve a porta http 80 e fala o protocolo HTTP. Nem os navegadores nem os aplicativos de backend precisam saber que o Varnish existe, uma vez configurado corretamente, ele simplesmente funciona.

O Memcached é um aplicativo normalmente usado para armazenar em cache os dados trazidos de um servidor de banco de dados para um aplicativo, para diminuir o número de consultas no banco de dados. Além disso, como os dados são armazenados em cache na memória, sua recuperação é muito mais rápida. Mas é o aplicativo que controla a inserção e a recuperação de dados do Memcached, em outras palavras, o aplicativo deve ser escrito para fazer uso adequado do Memcached. Memcached não fala protocolo HTTP.

    
por 18.05.2016 / 01:49