Varnish
Eş anlamlılar: Varnish Cache
Varnish, HTTP reverse proxy önbellek sunucusudur. Web uygulamalarının önünde çalışarak tam sayfa cache sağlar. VCL (Varnish Configuration Language) ile güçlü özelleştirme sunar. Yüksek trafikli haber siteleri ve e-ticaret platformlarında origin yükünü dramatik düşürür.
Varnish Nedir?
Varnish Cache, 2006'da geliştirilmeye başlanan, HTTP trafiği için özel olarak tasarlanmış bir reverse proxy önbellek (cache) sunucusudur. Web uygulamanızın (Apache, NGINX, LiteSpeed) önünde çalışır, gelen istekleri yakalar, cache'te varsa direkt yanıt verir, yoksa backend'e iletir ve cevabı cache'ler. Yüksek trafikli siteler için origin sunucu yükünü %80'e kadar azaltır.
Varnish'in Özellikleri
- Çok hızlı: Bellek içi cache, mikrosaniye yanıt
- VCL (Varnish Configuration Language): Güçlü programlama dili
- HTTP/2 desteği
- ESI (Edge Side Includes): Sayfa parçalarını ayrı cache
- Grace mode: Stale cache servis ederek origin aşırı yüklenmesini önler
- Health check: Backend'in canlılığını izler
- Load balancing: Birden fazla backend arasında
Varnish Nasıl Çalışır?
- İstek Varnish'e gelir (port 80)
- VCL kuralları uygulanır (hangi istekler cache'lenecek?)
- Cache'te varsa HIT — anında yanıt
- Yoksa MISS — backend'den çek, cache'le, yanıtla
- Cookie varsa veya özel başlık varsa PASS — cache bypass
VCL Örneği
sub vcl_recv {
if (req.url ~ "^/admin") {
return (pass);
}
if (req.http.Cookie ~ "logged_in") {
return (pass);
}
unset req.http.Cookie;
}
sub vcl_backend_response {
set beresp.ttl = 1h;
set beresp.grace = 24h;
}
Varnish vs Nginx Cache
- Esneklik: Varnish VCL ile çok daha güçlü
- HIT oranı: Varnish daha akıllı invalidation
- SSL: Varnish SSL'yi doğrudan desteklemez — Hitch/NGINX terminasyonu gerekir
- Kurulum: Nginx cache daha basit
- ESI: Varnish'in güçlü yanı
Varnish vs LSCache
- Entegrasyon: LSCache LiteSpeed ile sıkı, Varnish standalone
- WordPress eklentisi: LSCache daha entegre; Varnish için W3 Total Cache
- SSL: LSCache doğrudan, Varnish harici
- Ücret: Varnish açık kaynak, LSCache LiteSpeed lisanslı
Varnish + SSL (Hitch)
Varnish SSL'yi doğrudan işlemez. Üç yaklaşım:
- Hitch (Varnish'in SSL terminatörü): 443 → Hitch → Varnish → Backend
- NGINX frontend: 443 → NGINX (SSL) → Varnish → Backend
- Backend SSL: Cloudflare SSL + Varnish HTTP
Kullanım Senaryoları
- Haber ve blog siteleri (yoğun anonim trafik)
- E-ticaret katalog sayfaları
- API gateway önünde
- Magento / Drupal kurumsal kurulumlar
Dezavantajları
- Kurulum ve VCL öğrenme eğrisi
- SSL için ek yazılım gerekli
- WordPress eklentisi daha az gelişmiş (LSCache'e göre)
- Dinamik içerik için dikkatli yapılandırma gerekir
MeoHost ve Varnish
MeoHost VDS ve dedicated sunucularda Varnish + Hitch kurulum hizmeti sunar. Çok yüksek trafikli Magento ve Drupal siteleri için önerilir; daha yaygın WordPress senaryolarında LiteSpeed + LSCache ilk tercihtir.