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?

  1. İstek Varnish'e gelir (port 80)
  2. VCL kuralları uygulanır (hangi istekler cache'lenecek?)
  3. Cache'te varsa HIT — anında yanıt
  4. Yoksa MISS — backend'den çek, cache'le, yanıtla
  5. 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.

İlgili Terimler