Content Switching nedir?
Kısa cevap
Content Switching, gelen isteğin içeriğine (yol, Host, başlık, cookie, istemci IP'si gibi) bakarak isteği farklı Kurum Servislerine ya da Backend Group'lara gönderen yönlendirme yöntemidir. TR7'de vService'in Conditional Backend Services bloklarıyla yapılır: her blok bir condition ve bir hedef taşır, bloklar yukarıdan aşağı değerlendirilir ve ilk eşleşen blok isteği alır. Hiçbiri eşleşmezse istek Default Backend Services'e gider.
Nasıl Çalışır?
Content Switching, uygulama dağıtım denetleyicilerinde içerik tabanlı yönlendirmenin genel adıdır (ör. Citrix NetScaler'da Content Switching, F5 BIG-IP'de Local Traffic Policy ile havuz seçimi). TR7'de bunun için ayrı bir sanal sunucu ya da politika nesnesi oluşturulmaz; kurallar vService formunda tanımlanır.
- İstek vService'e gelir.
- Conditional Backend Services blokları yukarıdan aşağı sırayla denenir; her bloğun condition'ı isteğe uygulanır.
- Condition'ı sağlanan ilk bloğun Kurum Servislerine gidilir; sonraki bloklara bakılmaz.
- Hiçbir blok eşleşmezse istek Default Backend Services'e gider.
Seçilen blok içinde sunucu, vService'in LB algoritmasıyla ve persistence ayarıyla seçilir.
Örnek
| Sıra | Condition | Hedef |
|---|---|---|
| 1 | Path /api/ ile başlıyor | API Kurum Servisleri |
| 2 | Host admin.example.com | Yönetim paneli Kurum Servisleri |
| - | Hiçbiri eşleşmedi | Default Backend Services'teki web sitesi Kurum Servisleri |
vService Tiplerine Göre
| vService tipi | Content Switching | Seçilebilen condition'lar |
|---|---|---|
| HTTP | Var | İstek aşamasındaki HTTP condition'ları (ör. Path, URL, HTTP header, User Cookie Name, Query parameter, Source IP) |
| L7 TCP | Var | Bağlantı düzeyindeki condition'lar (ör. Source IP, Destination IP, Destination port, SSL SNI Info, RDP cookie) |
| Network | Yok | - |
TR7'de
- Bloklar vService formunda, Default Backend Services tablosundaki + Conditional backend services butonuyla eklenir; ilk blok eklenene kadar alan formda görünmez (Conditional Backend Services).
- Bir bloğun condition'ında en fazla 3 grup bulunur; condition'lar AND / OR ile birleştirilir ve her condition'ın NOT hâli seçilebilir (Çoklu koşul: AND / OR).
- Blokların sırası sürükle-bırak ile değiştirilir.
- Condition'lar merkezîdir: Load Balancer → Conditions altında bir kez tanımlanır, birden fazla vService'te kullanılır.
- Hedef olarak tek tek Kurum Servisleri ya da bir Backend Group seçilebilir; ikisi birlikte de seçilebilir.
Sık Karıştırılan Noktalar
- "Content Switching bir action'dır." Sunucu seçimi vService'in Conditional Backend Services alanında yapılır. Location Redirection action'ı istemciyi başka bir adrese gönderir, sunucu seçmez.
- "Condition'ı seçilmemiş blok her isteği alır." Condition'ı olmayan blok hiçbir istekle eşleşmez.
- "Bloğun Kurum Servisleri erişilemezse istek Default'a düşer." Default yalnızca hiçbir blok eşleşmediğinde kullanılır; eşleşen bloğun Kurum Servisleri erişilemezse istek Default Backend Services'e aktarılmaz.
- "Yanıt condition'larıyla da yönlendirme yapılır." Bloklarda yalnızca istek aşamasındaki condition'lar seçilebilir; Status code gibi yanıt condition'ları listede yer almaz.
Dokümantasyonda nasıl yapılır
İlgili sorular
