Há poucos dias, eu iniciei alguns testes com o módulo ReverseProxyCachingExample do Nginx. Como o próprio nome já diz, este módulo tem como objetivo fazer cache do conteúdo web, suportado pelo nginx, junto a algum diretório. Interessante, não é mesmo?

Mas a pergunta que fiz, logo de cara, foi se ele teria a capacidade de substituir o Varnish, o melhor software opensource/commercial da atualidade, em minha opinião.

A resposta foi não. Basta dar uma olhada na sintaxe dele, do módulo do nginx, logo abaixo:

http {
proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=STATIC:10m
inactive=24h max_size=1g;
server {
location / {
proxy_pass http://1.2.3.4;
proxy_set_header Host $host;
proxy_cache STATIC;
proxy_cache_valid 200 1d;
proxy_cache_use_stale error timeout invalid_header updating
http_500 http_502 http_503 http_504;
}
}
}

Simples para chuchu, vc’s não acham ?

Um dado que pude perceber é que os objetos cacheados pelo Nginx ficam armazenados em memória, onde está área de memória é compartilhada e necessita ser configurada.

Mais detalhes quanto ao seu funcionamento poderão ser verificados no seguinte link.

Agora, ficou claro para mim que este cara não possui a menor capacidade de substituir o Varnish, isso porque este último possui centenas de features que o tornam mais performático e maleável.