Conditional Backend Services bloklarının değerlendirme sırasını nasıl değiştiririm?
Kısa cevap
Conditional Backend Services (Content Switching) blokları vService formunda göründükleri sırayla, yukarıdan aşağı değerlendirilir ve koşulu ilk sağlanan blok isteği alır; sonraki bloklara bakılmaz. Sırayı değiştirmek için blok, sol kenarındaki dört yönlü ok simgesinden tutulup başka bir bloğun üzerine sürüklenir ve vService Save ile kaydedilir. Hiçbir blok eşleşmezse istek Default Backend Services listesine gider.
Sorun: Genel Kural Özel Kuralı Gölgeliyor
Bloklar ilk eşleşme mantığıyla çalıştığı için genel bir koşul (ör. Path / ile başlayan) daha özel bir koşulun (ör. Path /api/ ile başlayan) üstündeyse özel blok hiç eşleşmez ve /api/ istekleri de genel bloğun Kurum Servislerine gider. Özel kuralların genel kurallardan önce gelmesi için blok sırasının değiştirilmesi gerekir.
Çözüm
Sürükle-Bırak ile Sıralama
- Nasıl çalışır Blok başka bir bloğun üzerine bırakılır; aşağı sürüklenen blok hedef bloğun arkasına, yukarı sürüklenen blok hedef bloğun önüne yerleşir. Aradaki blokların sırası korunur.
- Nerede açılırLoad Balancer → Load Balancer vService List → vService düzenleme formu → Conditional Backend Services
- Gereksinim En az iki Conditional Backend Services bloğu
- vService tipi HTTP · L7 TCP (L7 TCP'de Conditional Backend Services)
Adım adım yapılandırma
Load Balancer → Load Balancer vService List ekranında vService seçilip düzenleme formu açılır.
Taşınacak blok, sol kenarındaki dört yönlü ok simgesinden tutulur ve hedef bloğun üzerine bırakılır; bırakılacak yer kesik çizgili çerçeveyle vurgulanır. Bloğun başlığı (koşul özeti) tıklandığında blok açılıp kapanır, sürükleme için kullanılmaz. Ok simgesi yalnızca sürüklemek için tutulur; simgeye tek tıklamak bloğu formdan kaldırır. Yanlışlıkla kaldırılan blok, form kaydedilmeden kapatılarak geri alınır.
Blok başlıklarındaki koşul özetlerine bakılarak özel koşulların genel koşullardan önce geldiği doğrulanır.
Save butonuna tıklanır; yeni sıra kaydedildiği anda uygulanır. Cluster'da değişiklik auto-sync (varsayılan) ile eş cihaza kendiliğinden aktarılır; Manual Sync Mode açıksa Synchronize ile gönderilir.
Doğrulama
Özel koşula uyan bir istek gönderilir; Left Monitor Panel → Load Balancer vServices → vService → Logs & Tracking → HTTP logs ekranında isteğin Backend Service sütununa bakılır. HTTP logs için vService'e bir log profili atanmış olmalıdır. L7 TCP vService'te bağlantının gittiği Kurum Servisi vService Sessions ekranında görülür.
İstek, özel bloğun Kurum Servisine giderSık Yapılan Hatalar
- Genel koşulu üste koymak. Özel koşullar genel koşullardan önce gelmelidir; aksi hâlde özel blok hiç eşleşmez.
- Sürükledikten sonra kaydetmemek. Yeni sıra vService Save ile kaydedilince uygulanır; form kaydedilmeden kapatılırsa eski sıra korunur.
- Koşulu boş bloğu sıralamaya güvenmek. Koşulu seçilmemiş blok hiçbir isteği almaz; sırası sonucu değiştirmez.
- Sıranın aksiyonları da etkilediğini sanmak. Blok sırası yalnızca Kurum Servisi seçimini belirler; aksiyonların sırası vService'in Actions alanında ayrıca belirlenir (Action'lar hangi sırayla çalışır; sırayı nasıl değiştiririm?).
Dokümantasyonda nasıl yapılır
