Health Check ne işe yarar; atamazsam ne olur?
Kısa cevap
Health Check, Kurum Servisini profildeki Period aralığıyla denetler: art arda Required Failures kadar başarısız olan sunucuyu trafikten çıkarır, art arda Required Successes kadar başarılı olunca yeniden trafiğe alır. Health check atanmazsa TR7 sunucunun kapandığını anlayamaz: kapalı sunucuya da trafik gönderilir ve HTTP ile L7 TCP vService'te Backup Service yalnızca ana sunucular Maintenance Mode'dayken devreye girer (Network vService'te Backup Service ve Maintenance Mode uygulanmaz). Böyle bir Kurum Servisinin Backend Services listesindeki Health kolonunda koyu gri güç simgesi (Off) görünür.
Nasıl Çalışır?
- Kurum Servisine (ya da Backend Group'a) bir Health Checks profili atanır (ör.
/healthadresine HTTP isteği). - TR7 denetimi profildeki Period aralığında tekrarlar; her denetim Timeout süresi içinde sonuçlanmalıdır.
- Profil yeni atandığında durum Preparing (sarı) olur; bu sırada Kurum Servisi trafik almaz.
- Art arda Required Failures kadar başarısızlıkta durum Error (kırmızı) olur ve Kurum Servisi yeni trafik almaz.
- Art arda Required Successes kadar başarıda durum OK (yeşil) olur ve Kurum Servisi trafiğe döner.
Ayrıntı: Sağlık durumu geçişleri.
Atanmazsa Ne Olur?
| vService tipi | Health check atanmamış Kurum Servisi |
|---|---|
| HTTP, L7 TCP | Hiçbir zaman devre dışı sayılmaz; kapalı sunucuya da istek gönderilir |
| Network (TCP - L4, UDP - L4; Port Range kapalı) | Her zaman erişilebilir kabul edilir |
| Network (ANY - L3 ya da Port Range açık) | Health check atansa bile dağıtım sağlık durumunu dikkate almaz |
- Backup service: HTTP ve L7 TCP vService'te ana sunucular hiçbir zaman devre dışı sayılmadığı için yedek sunucu yalnızca ana sunucular Maintenance Mode'a alındığında trafik alır; Network vService'te Backup Service ve Maintenance Mode uygulanmaz.
- Görünüm: Backend Services listesinde Health kolonunda koyu gri güç simgesi (Off), Health Check Type kolonunda No Check yazar.
TR7'de
- Profil: Load Balancer → Profiles → Health Checks → Add (Nasıl eklenir?).
- Atama: Kurum Servisi ya da Backend Group düzenleme formundaki Health Check alanı; varsayılan değer No check'tir (Kurum Servisine atama).
- Ortak sonuç: Bir Kurum Servisinin sağlık durumu, kullanıldığı bütün vService'ler için ortaktır; profilde yapılan değişiklik profili kullanan bütün Kurum Servislerini etkiler.
- İzleme: Backend Services listesindeki Health durumu göstergesi, Dashboard'daki Health Check kartı ve sonuç geçmişini tutan Health Checks sekmesi.
- Cluster: Her TR7 cihazı denetimi kendisi yapar; göstergede iki yarım daire bulunur ve her yarım bir cihazın gördüğü durumu gösterir. Profil ve atama değişiklikleri varsayılan olarak eş cihaza kendiliğinden aktarılır; Manual Sync Mode açıksa Synchronize ile gönderilene kadar yalnızca değişikliğin yapıldığı cihazda kalır.
Sık Karıştırılan Noktalar
- "Sunucu kapanınca TR7 kendiliğinden fark eder." Health check atanmamışsa fark etmez; sunucuya trafik gönderilmeye devam eder.
- "Backup service health check olmadan da çalışır." HTTP ve L7 TCP vService'te ana sunucular devre dışı sayılmadığı için yedek yalnızca Maintenance mode'da devreye girer; Network vService'te Backup Service uygulanmaz.
- "Port açıksa sunucu sağlıklıdır." TCP denetimi yalnızca portun bağlantı kabul ettiğini doğrular; uygulama arızası için HTTP denetimi ve içerik kontrolü gerekir (TCP port kontrolü ile HTTP kontrolü arasındaki fark nedir; hangisini seçmeliyim?).
Dokümantasyonda nasıl yapılır
