Number of Active Servers
Number of Active Servers Koşulu Nedir?
Number of Active Servers koşulu, bir vService altında tanımlı Kurum Servislerinin sağlık (Health Check) durumlarının sonucunu değerlendirerek trafik yönlendirme ve manipülasyon kararları almak için kullanılan bir koşul tipidir.
Bu koşul sayesinde Kurum Servislerinin durumuna göre dinamik kararlar alınabilir.
Number of Active Servers Koşulunun Önemi
Yüksek erişilebilirlik (High Availability) senaryolarında, Kurum Servislerinin sayısının izlenmesi kritik öneme sahiptir.
Number of Active Servers koşulu sayesinde;
- Kurum Servisi sayısı kritik seviyenin altına düştüğünde uyarı sayfası gösterilebilir,
- Tüm Kurum Servisleri down olduğunda bakım sayfası gösterilebilir,
- Disaster recovery senaryoları için otomatik yedek site aktivasyonu yapılabilir,
- Kurum Servisi sayısına göre rate limiting uygulanabilir.
Yaygın Kullanım Senaryoları:
| Senaryo | Operatör | Değer | Aksiyon |
|---|---|---|---|
| Tüm sunucular down | = | 0 | Bakım sayfası göster |
| Kritik seviye | < | 2 | Uyarı göster |
| Düşük kapasite | < | 3 | Yedek servise yönlendir |
| Yeterli kapasite | > | 2 | Normal işlem |
Kullanılabildiği vService Tipleri
Koşul, hem istek (At Request) hem yanıt (At Response) aşamasında kullanılabilir; sayı isteğin başında okunur ve yanıt aşamasında da aynı değer üzerinden değerlendirilir. "Sağlıklı" sayılan sunucular, sağlık denetimi başarılı olan ve bakım (maintenance) modunda olmayan sunuculardır: sağlık denetimi atanmamış bir sunucu her zaman sağlıklı sayılır (bu nedenle koşulun anlamlı çalışması için Kurum Servislerine sağlık denetimi atanmalıdır).
Nasıl Eklenir?
Yeni bir Number of Active Servers Koşulu, TR7 web yönetim arayüzü üzerinden aşağıdaki adımlar izlenerek eklenebilir:
- Sol altta bulunan TR7 logosuna tıklanarak Configuration Menu açılır.
- Load Balancer → Conditions → Add adımları takip edilir.
- Criteria olarak Number of active servers seçilir.
- Koşula ait ilgili konfigürasyonlar yapılandırılır.
Addbutonuna tıklanarak koşul eklenir.
Number of Active Servers Koşulu Ekleme Formu
Number of Active Servers Koşulu Ekleme Formu
INFO
Condition Name
Oluşturulacak koşul için isteğe bağlı bir isim girilebilir.
Bu alan, özellikle aşağıdaki senaryolarda önemlidir:
- Aynı vService altında çok sayıda koşul tanımlandığında,
- Benzer kriterlere sahip koşulların ayırt edilmesi gerektiğinde,
- Koşulun hangi iş kuralını temsil ettiğinin hızlıca anlaşılması istendiğinde.
Bu alan boş bırakıldığında, TR7 ilgili koşulun içeriğini analiz ederek Condition Description alanında otomatik ve açıklayıcı bir isim oluşturur. Oluşturulan bu açıklama, koşul listelerinde isim olarak kullanılır.
INFO
Criteria Zorunlu
Koşulun tipini belirleyen alandır; aranabilir açılır listeden Number of active servers seçilir. Bu seçim, formda görüntülenecek alanları belirler. Kriter, koşul kaydedildikten sonra değiştirilemez: farklı bir kritere ihtiyaç duyulursa yeni bir koşul tanımlanır. Listedeki tüm kriterler ve kapsamları için Conditions sayfasındaki kriter kataloğuna bakılabilir.
INFO
Operator
Sayısal karşılaştırma operatörü ve değeri girilir. Form, operatörü Equals to (=) seçili ve değeri boş olarak açılır; girilen değer tamsayı olmalıdır. Range (-) seçildiğinde ikinci bir değer alanı açılır; iki sınır da aralığa dahildir.
| Operatör | Sembol | Açıklama |
|---|---|---|
| Less than | < | Değer küçük olmalı |
| Equals to | = | Değer tam olarak eşleşmeli |
| Greater than | > | Değer büyük olmalı |
| Range | - | Değer iki değer arasında olmalı |
TIP
Bu koşul, vService'in varsayılan (Default) Kurum Servisleri için değerlendirilir; koşullu gruplara (Conditional Backend Services) atanmış Kurum Servisleri bu sayıya dahil edilmez. Sayım hedefi sabittir, kullanıcı tarafından seçilemez.
INFO
Condition Description
Girilen kriter ve değerler doğrultusunda TR7 tarafından otomatik olarak oluşturulur.
Bu açıklama;
- Koşulun hangi değer için geçerli olduğunu,
- Hangi kriter üzerinden çalıştığını,
- Listeleme ekranlarında koşulun hızlıca anlaşılmasını
sağlayacak şekilde sistem tarafından dinamik olarak üretilir.
INFO
Form Butonları
Add
Add butonuna tıklanarak koşul ekleme işlemi tamamlanır.
Add & Repeat
Add & Repeat butonu ile koşul ekleme işlemi tamamlanır ve farklı konfigürasyonlarla ilgili pencereden çıkılmadan yeni bir koşul daha eklenebilir.
Koşul Eklendi
Operasyonel Kullanım Önerileri
- Bakım Sayfası Konfigürasyonu. Number of Active Servers = 0 koşulu ile tüm sunucular down olduğunda kullanıcı dostu bir bakım sayfası gösterin.
- Kademeli Uyarı Sistemi. Farklı Kurum Servisi sayı eşikleri için farklı aksiyonlar tanımlayın (örn: = 0 bakım, < 2 uyarı, < 3 yedek servise yönlendirme).
- Health Check ile Birlikte Kullanın. Bu koşulun doğru çalışması için Kurum Servisinde health check tanımlı olmalıdır.
Canlı Ortamlarda Yaygın Kullanım Senaryoları
Aşağıdaki örnekler, ilgili koşulun gerçek sistemlerde en sık karşılaşılan kullanım senaryolarında nasıl uygulandığını göstermektedir. Bu senaryolar, canlı ortamlarda yaygın olarak tercih edilen ve sahada edinilmiş deneyimlere dayanan pratikleri temel alır.
Senaryo 1: Tüm Kurum Servisleri Down · Bakım Sayfası
Kullanım Amacı: Tüm Kurum Servislerinin health check'lerden down olduğunda kullanıcılara bilgilendirici bakım sayfası göstermek ve 503 Service Unavailable yanıtı vermek.
Konfigürasyon: Operator → Equals to (=) 0
Aksiyon Önerileri:
- ✅ Show Content → "Service temporarily unavailable. Please try again later." bakım sayfası 503 status code ile gösterilir.
- ✅ Add HTTP Header →
X-Maintenance-Mode: trueveRetry-After: 600header'ları eklenir, istemcilerin 10 dakika sonra tekrar denemesi önerilir.
Senaryo 2: Kritik Kapasite · Düşük Performans Uyarısı
Kullanım Amacı: Sağlıklı Kurum Servisi sayısı kritik seviyenin altına düştüğünde (2'den az) kullanıcılara performans düşüklüğü uyarısı göstermek ve degraded mode'da çalışmak.
Konfigürasyon: Operator → Less than (<) 2
Aksiyon Önerileri:
- ✅ Show Content → "Service is running in degraded mode. You may experience slower response times." banner gösterilir.
- ✅ Add HTTP Header →
X-Service-Status: degradedveX-Available-Servers: 1header'ları eklenir, Kurum Servisi performans optimizasyonu yapabilir.
Senaryo 3: Düşük Kapasite · Bant Genişliği Koruma
Kullanım Amacı: Yalnızca 1 Kurum Servisi sağlıklı kaldığında aşırı yük altında çökmemesi için bant genişliği sınırlama uygulamak.
Konfigürasyon: Operator → Equals to (=) 1
Aksiyon Önerileri:
- ✅ Bandwidth Limitation → Son sağlıklı sunucuyu korumak için IP başına (Dynamic mod + Client IP address anahtarı) 10 Mbps bant genişliği sınırı uygulanır.
- ✅ Add HTTP Header →
X-Rate-Limited: capacity-protectionheader'ı eklenir, rate limiting aktif olduğu işaretlenir.
Senaryo 4: Yük Azaltma · Kritik Olmayan Servisleri Engelleme
Kullanım Amacı: Sağlıklı Kurum Servisi sayısı 3'ten az olduğunda kritik olmayan endpoint'leri (analitik, raporlama) engelleyerek kalan sunuculara odaklanmak.
Konfigürasyon: Operator → Less than (<) 3
Aksiyon Önerileri:
- ✅ Block →
/analytics,/reportsgibi kritik olmayan path'lere erişim 503 ile engellenir (Path koşulu ile birlikte kullanılır). - ✅ Show Content → "This service is temporarily unavailable due to high load" bilgilendirme sayfası gösterilir.
