Varnish Cache
  • Varnish Cache
  • Varnish Cache Nedir?
    • Varnish Cache
    • Varnish Açık Kaynak Bir Proje
    • Varnish Nasıl Çalışır?
  • Varnish Başlangıç
    • Varnish Kurulumu
      • Paket Yöneticisi Kullanarak Varnish Kurulumu
      • Ubuntu ve Debian Üzerinde Varnish Kurulumu
      • Red Hat and CentOS Üzerinde Varnish Kurulumu
    • Varnish Yapılandırma
      • Yapılandırma Dosyası
      • Ubuntu ve Debian için Systemd Ek Bilgi
      • Başlangıç Seçenekleri
    • TLS/SSL Hakkında
  • Varnish HTTP
    • Varnish ve HTTP
    • Idempotence
    • State (Durum)
    • Expiration (Süre sonu)
      • Expires Header
      • Cache-Control Header
      • Expiration Precedence (Bitiş Süresi Önceliği)
    • Koşullu İstekler
      • ETag
      • Last-Modifed
      • Koşullu İstekler ile Varnish İşlemleri Nasıl Yapılır?
    • Önbellek Varyasyonları
    • Varnish Hakkında Bazı Sorular
  • Varnish Yapılandırma Dili (VCL)
    • Varnish Yapılandırma Dili (VCL)
    • Kancalar ve Alt Yordamlar
      • İstemci Tarafı Alt Yordamları
      • Arka Uç Alt Yordamları
      • Başlatma ve Temizleme Alt Yordamlar
      • Özel Alt Rutinler
    • Dönüş İfadeleri
    • Akış Şeması
    • VCL Sintaks
      • Operatörler
      • Koşullar
      • Yorumlar
      • Değerler
      • Düzenli İfadeler
      • Include
      • Varnish Modüllerini Dahil Etme
    • Arka Uçlar (Backends) ve Health Probes
    • Erişim Kontrol Listeleri (ACL)
    • VCL Değişkenleri
    • Varnish'in Dahili VCL'i
  • Önbelleği Geçersiz Kılma
    • Purging
    • Banning
      • Lurker-Friendly Bans
      • Ban Listesi
    • Zorla Önbelleği Geçersiz Kılmak
  • Backend Kullanımı
    • Backend Kullanımı
    • Backend Seçimi
    • Backend Sağlığı
    • Directors
      • Round-Robin Director
      • Random Director
      • Hash Director
      • Fallback Director
    • Grace Mode
      • Grace Mode Aktif Et
  • Loglama ve Debug
    • Loglama ve Debug
    • Varnishstat
    • Varnishtop
  • Varnish Modüller
    • Varnish Modüller
    • libvmod-geoip
    • libvmod-vsthrottle
  • Kaynaklar
    • Kaynaklar
Powered by GitBook
On this page

Was this helpful?

  1. Backend Kullanımı

Backend Sağlığı

PreviousBackend SeçimiNextDirectors

Last updated 6 years ago

Was this helpful?

Bundan önce arka uçların sağlığını nasıl kontrol edeceğimizi gördük.

Önceki örneğimize sağlık prob'u ekleyelim.

default.vcl
vcl 4.0;

probe healthcheck {
    .url = "/";
    .interval = 5s;
    .timeout = 1s;
    .window = 10;
    .threshold = 3;
    .initial = 1;
    .expected_response = 200;
}

backend public {
    .host = "public.example.com";
}

backend admin {
    .host = "admin.example.com";
}

sub vcl_recv {
  if(req.url ~ "^/admin(/.*)?") {
      set req.backend_hint = admin;
  } else {
      set req.backend_hint = public;
  }
}

Bu örnekteki sağlık kontrolleri, ana sayfadaki bir HTTP isteğine göre yapılır. Bu kontrol, her beş saniyede bir, bir saniyelik zaman aşımı ile yapılır. Bir HTTP 200 durum kodu bekliyoruz. Arka uçlar ancak 10 sağlık kontrolünden 3'ü başarılı olursa sağlıklı kabul edilir.

Aşağıdaki komutu çalıştırarak arka uçlarınızın sağlığını görüntüleyebilirsiniz:

varnishadm backend.list

Aşağıdaki gibi bir çıktı alırsınız.

Backend name   Admin   Probe
boot.public    probe   Healthy 10/10
boot.admin     probe   Healthy 10/10

Her iki arka uç listelenir ve sağlıkları bir prob tarafından otomatik olarak kontrol edilir (Yönetici sütununa bakın). Sağlıklı olduğunu görüyoruz çünkü 10 kontrolden 10'u başarılı olmuştur. Örneğimizde sağlıklı bir arka uç için başarılı olması gereken yoklama sayısı sadece üç taneydi.

Aşağıdaki komutları vererek, probun arka uç sağlığı ile ilgili kararını manuel olarak da geçersiz kılabilirsiniz:

varnishadm backend.set_health boot.public sick
varnishadm backend.set_health boot.admin healthy

Çıktı aşağıdaki gibi olacaktır.

Backend name   Admin     Probe
boot.public    sick      Healthy 10/10
boot.admin     healthy   Healthy 10/10

Gördüğünüz gibi, Admin sütunu artık probe değil sağlık durumunu gösteriyor. Kontrolü sağlık problarına geri vermek için aşağıdaki komutları vermeniz yeterlidir:

varnishadm backend.set_health boot.public auto
varnishadm backend.set_health boot.admin auto

vmod_std'nin bir parçası olan std.healthy() fonksiyonu, bir arka ucun sağlıklı olup olmadığını söyleyebilir. Geçerli arka uçtaki sağlığı kontrol etmek için, sadece std.healthy(req.backend_hint) kullanabilirsiniz.

Arka Uçlar (Backends) ve Health Probes