Load Balancer - ADC
Load Balancer - ADC, TR7'nin trafiği tek bir noktada karşılayıp arkadaki hedef sunuculara akıllıca dağıtan uygulama-teslim (application delivery) motorudur. Gelen her istek önce bir vService (dinleyici) tarafından karşılanır; TLS sonlandırma, koşullar ve aksiyonlardan oluşan bir zincirden geçer (vService'te WAF - WAAP ya da AGS - AAM etkinse güvenlik denetimi de bu zincirde yapılır); ardından seçilen dağıtım algoritmasına göre yalnızca sağlıklı bir Kurum Servisi'ne veya Kurum Servisi Grubu'na yönlendirilir.
Böylece yük dengeleme, trafiği kör biçimde dağıtan bir yönlendiriciden çıkıp; istekleri anlayan, güvenlik denetiminden geçiren, koşula göre şekillendiren ve hedeflerin sağlığını sürekli izleyen bir teslim katmanına dönüşür. Tek bir arıza noktasını ortadan kaldırır, bakımı kesintisiz kılar ve uygulama trafiğini uçtan uca denetlenebilir hâle getirir.
Yerel teslim katmanı
Yük Dengeleme, bir veri merkezi içinde trafiği sunuculara dağıtan yerel katmandır. Veri merkezleri arasında ve coğrafi yönlendirme ise ayrı bir ürün olan GTM (Global Traffic Manager) tarafından, daha bağlantı kurulmadan DNS anında yapılır. İki ürün birlikte kullanıldığında birbirini tamamlar.
TR7 Ürünü
Load Balancer - ADC, TR7'nin ayrı lisanslanan dört ürününden biri olan TR7 ADC (Application Delivery Controller) ürünüdür. Ürünler tek başına ya da paketler hâlinde lisanslanır; lisanslama ayrıntıları tr7.com üzerinde yer alır.
TR7 ürünleri: Load Balancer - ADC · WAF - WAAP · AGS - AAM · GTM (Global Traffic Manager)
Load Balancer - ADC Nedir?
Load Balancer, gelen ağ trafiğini tek bir sunucuya yığmak yerine aynı hizmeti veren birden fazla sunucuya dengeli biçimde dağıtır; bu uygulama-teslim tekniğine yük dengeleme (load balancing) denir. Amaç, tek bir sunucunun kapasite ve erişilebilirlik sınırını ortadan kaldırmaktır.
Tek sunuculu bir yapıda o sunucu, yük altında yavaşlar; çöktüğünde ise hizmet tümüyle durur. Yük dengeleme bu riski, trafiği önüne koyduğu tek bir sanal adres üzerinden karşılayıp arkadaki gerçek sunuculara paylaştırarak çözer. İstemciler yalnızca bu tek adrese bağlanır; arkada kaç sunucu olduğunu veya hangisine yönlendirildiklerini bilmezler. Bir sunucu eklenip çıkarılsa dahi istemcinin bağlandığı adres değişmez.
Bu dağıtım rastgele yapılmaz. Yük dengeleyici, her sunucunun sağlığını sürekli izler ve trafiği yalnızca yanıt verebilen sunuculara gönderir; devre dışı kalan sunucuyu otomatik olarak dağıtımdan çıkarır, düzeldiğinde geri alır. Hangi sunucunun seçileceği ise bir dağıtım algoritmasıyla belirlenir (sırayla, en az bağlantısı olana, kapasiteye göre ağırlıklı vb.). Böylece yük dengeleme üç temel kazanç sağlar:
- Yüksek erişilebilirlik: bir sunucu düşse bile hizmet, ayakta kalan sunucularla kesintisiz sürer.
- Ölçeklenebilirlik: kapasite, yeni sunucular eklenerek artırılır.
- Başarım: yük dengeli dağıtıldığından hiçbir sunucu tek başına darboğaza girmez.
Yük dengeleyiciler iki farklı katmanda çalışabilir. L4 (bağlantı katmanı) dengeleme, yalnızca IP adresi ve porta bakarak paketleri hızla iletir; isteğin içeriğini görmez. L7 (uygulama katmanı) dengeleme ise isteğin içeriğini de çözümler: HTTP başlığı, adres yolu (path), çerez gibi bilgilere göre yönlendirme yapabilir, TLS şifresini sonlandırıp güvenlik denetimi uygulayabilir. Modern bir yük dengeleyici bu nedenle yalnızca bir trafik dağıtıcısı değil; aynı zamanda bir güvenlik ve uygulama-teslim katmanıdır.
Bu nedenle yük dengeleme, yalnızca birden fazla sunucu bulunan yapılara özgü değildir; tek bir sunucunun bulunduğu ortamlarda bile kullanılması önerilir. Tek sunuculu yapılarda dahi yük dengeleyici, arkadaki sunucuyu doğrudan internete açmadan önüne konumlanan bir denetim ve teslim katmanı olarak değer katar:
- Güvenlik önünde durur: TLS sonlandırma ve güvenlik denetimleri (vService'te etkinse WAF - WAAP ve AGS - AAM) sunucuya ulaşmadan istekleri süzer; gerçek sunucu doğrudan erişime kapatılır.
- Tek ve kararlı giriş noktası: istemciler sabit bir adrese bağlanır; arkadaki sunucunun adresi, sertifikası veya bakımı değişse bile bu adres değişmez.
- Sağlık ve kesintisiz bakım: sunucu bakıma alındığında trafik bir yedek adrese veya bakım sayfasına yönlendirilir; sağlık denetimiyle sorunlar erkenden görülür.
- İçerik ve başarım kontrolü: sıkıştırma, önbellek, başlık düzenleme ve koşullu yönlendirme gibi işlevler tek sunucuda da uygulanır.
- Görünürlük: tüm trafik loglanıp izlenebilir; canlı oturumlar ve raporlarla sunucunun davranışı gözlemlenir.
- Geleceğe hazırlık: ileride ikinci bir sunucu eklendiğinde ölçekleme, mevcut yapıyı bozmadan yük dengeleyiciye yeni bir hedef tanımlamak kadar basit olur.
TR7'de Yük Dengeleme
TR7, yukarıdaki temel işlevlerin tümünü sağlar ve üzerine akıllı bir karar katmanı ekler. Klasik bir yönlendirici gelen trafiği sabit bir biçimde iletir; hedef sunucunun sağlığını, isteğin içeriğini veya güvenlik durumunu dikkate almaz. TR7 yük dengeleme bu davranışı akıllı hâle getirir: her isteği hedefe ulaştırmadan önce denetler, sınıflandırır ve şekillendirir, ardından yalnızca sağlıklı hedefler arasında en uygun olanına dağıtır.
Yapının merkezinde vService yer alır. vService, bir IP adresi ve port üzerinde trafiği dinler; sektörde sanal sunucu (virtual server / listener) olarak bilinen kavramın TR7'deki karşılığıdır. Her vService; hangi hedefe (Kurum Servisi veya Grubu) yöneleceğini, hangi güvenlik katmanlarının (WAF/AGS), sertifikaların ve profillerin (sıkıştırma, önbellek, log…) uygulanacağını belirler. İstek geldiğinde vService, koşulları değerlendirip eşleşen aksiyonları uygular ve seçilen algoritmayla hedefi belirler.
Dinleyicilerden sağlık denetimlerine, koşullardan profillere kadar bütün yapılandırma programlama bilgisi gerektirmeden, tamamen web arayüzü üzerinden yapılır. Motor yapılandırma satırının doğrudan yazılmasına izin veren Manual Condition ve Manual Action tipleri yalnızca ileri kullanım içindir.
GTM ile Farkı
Yük dengeleme ile küresel DNS katmanında çalışan GTM farklı katmanlarda ve farklı anlarda karar verir; birlikte kullanıldıklarında birbirini tamamlar:
| Yük Dengeleme (vService) | GTM | |
|---|---|---|
| Kapsam | Bir veri merkezi içinde | Veri merkezleri arasında / coğrafi |
| Katman | Bağlantı ve uygulama (L4–L7) | DNS (isim çözümleme) |
| Karar anı | Bağlantı kurulduktan sonra | Bağlantı kurulmadan önce (DNS sorgusunda) |
| Hedef | Sunucular arası yük dağıtımı | Veri merkezleri / bölgeler arası yönlendirme |
Neden İhtiyaç Duyulur?
Tek sunuculu ve statik yönlendirmeye dayalı yapılar, trafik ve süreklilik gereksinimleri arttıkça yetersiz kalır. Yük dengeleme bu sınırların her birine doğrudan yanıt verir:
| Zorluk | Yük dengeleme ile çözüm |
|---|---|
| Tek sunucu = tek hata noktası | Trafik, sağlıklı birden fazla Kurum Servisi arasında dağıtılır; biri düşünce diğerleri devralır. |
| Sağlıksız sunucuya trafik gitmesi | Sağlık denetimi, ardışık başarısız deneme eşiğini aşan hedefi otomatik olarak rotasyondan çıkarır; düzelince geri alır. |
| Kesintisiz bakım / güncelleme | Bakım modu (maintenance) ile bir Kurum Servisi ya da bir grubun tamamı trafik dışına alınır, bakım bitince yeniden devreye alınır. |
| Farklı kapasitede sunucular | Ağırlık (weight) ve bağlantı limitiyle güçlü sunucuya daha çok, zayıfa daha az trafik. |
| Ham, denetimsiz trafik | Koşullar ve aksiyonlarla (etkinse WAF - WAAP ve AGS - AAM ile) istek doğrulanır, şekillendirilir ve gerektiğinde bloklanır. |
| TLS yükü ve sertifika yönetimi | TLS sonlandırma merkezî olarak vService üzerinde yürütülür; gerekiyorsa Kurum Servisinin SSL Service ayarıyla trafik sunucuya yeniden şifrelenerek (re-encrypt) iletilir. |
| Ani trafik artışları (spike) | Yeni Kurum Servisleri eklenerek kapasite elastik biçimde büyütülür; bağlantı limitleriyle sunucular aşırı yükten korunur. |
| Oturum tutarlılığı gerektiren uygulamalar | Persistence ile aynı istemcinin bağlantıları hep aynı hedefe yönlendirilir; oturum bütünlüğü korunur. |
| Kötüye kullanım (DDoS, bot, brute-force) | Hız sınırı, karantina ve Advanced Traffic Inspection ile anormal trafik izlenir, sınırlandırılır veya engellenir. |
| Yavaş yanıt ve bant genişliği maliyeti | Önbellek (cache) ve sıkıştırma (compression) profilleriyle başarım artar, Kurum Servisi üzerindeki yük azalır. |
| İçeriğe göre yönlendirme ihtiyacı | Path, başlık, çerez gibi L7 koşullarıyla aynı adres, farklı uygulama veya sunucu gruplarına yönlendirilir. |
| Gerçek sunucuların doğrudan açık olması | İstemciler yalnızca vService'e bağlanır; Kurum Servislerinin adresleri dış dünyadan gizli kalır. |
| Hata anında kötü kullanıcı deneyimi | Kurum Servisi veya yük dengeleyici hatalarında özel içerik gösterme ya da yönlendirme aksiyonları devreye girer. |
| Görünürlük eksikliği | Dashboard, log kaynakları, canlı oturumlar ve raporlarla trafik uçtan uca izlenir. |
Nasıl Çalışır?
HTTP ve L7 TCP vService'lerde bir istek TR7 yük dengeleyiciden geçerken aşağıdaki zincirden geçer; her aşama isteği bir sonraki adıma daha nitelikli biçimde taşır:
Bu zincir boyunca Sağlık Denetimi arka planda sürekli çalışır: profildeki ardışık başarısız deneme eşiğini aşan hedef rotasyondan çıkarılır, ardışık başarılı deneme eşiğine ulaştığında otomatik olarak trafiğe geri alınır. Böylece dağıtım kararı hedeflerin güncel sağlık durumuna göre verilir.
Network vService'ler ayrı bir L3/L4 veri düzleminde çalışır; bu tipte istek içeriği çözümlenmez, TLS, WAF/AGS ve L7 koşul-aksiyon aşamaları uygulanmaz.
Temel Yapı Taşları
Yük dengelemenin çalışma yapısı, birbirine bağlı birkaç bileşenden oluşur. Aşağıdaki katmanlar birlikte "denetleyen, şekillendiren ve sağlık duyarlı dağıtan" teslim davranışını üretir:
Trafiği bir IP:port üzerinde karşılar ve dinler. Hedefini (Kurum Servisi/Grubu), güvenlik katmanlarını ve profillerini belirler. Üç tipte olur: HTTP (L7), L7 TCP ve Network.
Trafiğin ulaştığı tek bir hedef sunucudur (adres:port). Web, uygulama, veritabanı veya e-posta gibi herhangi bir servis olabilir. Ağırlık, bağlantı limiti, sağlık denetimi, SSL ve bakım modu her biri için ayrı tanımlanır.
Aynı hizmeti veren birden fazla sunucuyu tek mantıksal yapı altında toplar. Sağlık denetimi, SSL ve bakım gibi ayarlar grup düzeyinde bir kez tanımlanır; her sunucunun ağırlık/limit gibi değerleri ise bireysel kalır. Kurum Servisi'nden bağımsız bir yapı taşıdır.
Koşullar "ne zaman"i tanımlar (isteğin özelliği, kaynağı, güvenlik durumu, trafik yoğunluğu); Aksiyonlar "ne yap"ı uygular (yönlendir, başlık ekle/değiştir, hız sınırla, blokla, karantinaya al). Bir koşula bağlanan aksiyon, trafiği deklaratif biçimde şekillendirir.
Sağlık denetimi, sıkıştırma, önbellek, timeout, log, bildirim ve rapor gibi ayarların bir kez tanımlanıp çok yere atandığı paketlerdir. Bir profil değiştirildiğinde onu kullanan bütün vService'ler, Kurum Servisleri ve Gruplar aynı ayarı kullanır. TLS güvenlik profilleri ise Certificates & PKI altında yönetilir.
Kurum Servislerinin durumunu periyodik olarak ölçer (TCP, HTTP(S), Ping vb.). Başarısızlık eşiğini aşan hedefi otomatik olarak rotasyondan çıkarır, düzelince geri alır. Sağlık denetimi atanmamış hedefler her zaman trafik almaya devam eder.
vService Tipleri
Her vService, dinlediği trafiğin protokolüne göre üç tipten biriyle tanımlanır. Tip; kullanılabilen koşulları, aksiyonları, algoritmaları ve TLS davranışını belirler:
| Tip | Katman | Kullanım | Öne çıkan |
|---|---|---|---|
| HTTP (L7) | Uygulama (L7) | Web uygulamaları, API'ler, HTTP(S) servisleri | Tam L7 görünürlük: başlık, path, gövde koşulları; WAF/AGS; içerik/başlık aksiyonları |
| L7 TCP | Uygulama (L7 TCP) | TLS/TCP tabanlı servisler (ör. veritabanı, özel protokoller) | SNI/SSL koşulları, TLS sonlandırma veya geçiş (passthrough), RDP Cookie algoritması |
| Network | Ağ ve bağlantı (L3/L4) | Yüksek başarımlı, protokolden bağımsız L3/L4 trafik | DSR/Route/SNAT modları, port aralığı, düşük gecikmeli hızlı dağıtım |
İzleme ve Gözlemlenebilirlik
Yük dengeleme yalnızca trafiği dağıtmakla kalmaz; her vService'in davranışını canlı ve geçmişe dönük olarak izlenebilir kılar. Left Monitor Panel üzerinden her vService'e özel bir yönetim ekranı açılır. Logs & Tracking sekmesi vService en az bir kayıt kaynağı üretiyorsa, Report sekmesi vService'e bir Reports profili atanmışsa görüntülenir:
vService'in trafik, bağlantı, sağlık ve hata metriklerinin seçilen zaman aralığındaki çok panelli görünümü.
vService'in bütün yapılandırmasının cümlelerle özetlendiği yönetim tuvali; her bölümden ilgili ayarın düzenlemesine geçilir.
Debug, HTTP ve TCP logları; vService Sessions (canlı oturumlar); Advanced Traffic Inspection, Quarantine ve Advanced Captcha takip/karantina tabloları.
vService'in anlık trafik ve bağlantı sayaçlarının saniyede bir yenilenen canlı görünümü.
Seçilen dönemin trafik kırılımlarını (ülke, sayfa, yanıt kodu, tarayıcı, Kurum Servisi, TLS) içeren HTML, PDF ya da XLSX raporu.
Öne Çıkan Özellikler
Kullanım Senaryoları
Bir web uygulaması veya API, birden fazla sunucuya dağıtılarak yüksek erişilebilirlikle yayınlanır; WAF, TLS ve içerik aksiyonları vService üzerinde uygulanır.
Onlarca sunucu tek bir Grup altında toplanır; sağlık, SSL ve bakım ayarları grup düzeyinde bir kez tanımlanır. Trafik arttıkça sunucu eklenir, azaldıkça çıkarılır.
İstekler koşullarla sınıflandırılır; kötüye kullanım hız sınırı, blok veya karantina aksiyonlarıyla engellenir; WAF/AGS ile uygulama katmanı korunur.
Protokolden bağımsız, düşük gecikmeli trafik (ör. büyük hacimli TCP/UDP) DSR/Route/SNAT modlarıyla L4 seviyesinde hızlıca dağıtılır.
Kurum Servisleri bakım moduna alınarak trafik diğer sunuculara aktarılırken güncellenir; ağırlık ve bağlantı limitleri düşük başlatılıp kademeli artırılarak sürüm geçişleri kesintisiz yürütülür.
Nesne Modeli
TR7'nin yük dengeleme yapı taşları, sektörde yaygın kullanılan katmanlı yük dengeleme modeline karşılık gelir; yalnızca adlandırma TR7'ye özgüdür:
| TR7 nesnesi | Nedir | Sektör karşılığı |
|---|---|---|
| vService | Bir IP:port'ta trafik dinleyen merkez nesne | virtual server / listener |
| Backend Service | Tek bir hedef sunucu (adres:port) | node / real server |
| Backend Group | Aynı hizmeti veren sunucuları toplayan bağımsız yapı | server group |
| Health Check | Kurum Servislerinin sağlığını periyodik olarak ölçen denetim | monitor / health monitor |
| Persistence | İstemcinin bağlantılarını hep aynı hedefe yönlendiren oturum sürekliliği | persistence / session affinity |
| Condition + Action | "Eğer X ise Y yap" deklaratif tanımı | policy |
| Profile | Yeniden kullanılabilir ayar paketi (sağlık, sıkıştırma, önbellek…) | profile |
Terminoloji
| Terim | Açıklama |
|---|---|
| vService | Trafiği IP:port üzerinde karşılayıp dinler; hedefini, güvenlik katmanlarını ve profillerini belirler. |
| Backend Service | Trafiğin ulaştığı tek bir hedef sunucu (adres:port). Prose'da "Kurum Servisi". |
| Backend Group | Aynı hizmeti veren birden fazla sunucuyu ortak ayarlarla yöneten, Kurum Servisi'nden bağımsız yapı. |
| Condition | İsteğin/kaynağın/güvenlik durumunun değerlendirildiği "ne zaman" ölçütü. |
| Action | Koşul eşleştiğinde uygulanan "ne yap" müdahalesi. |
| Profile | Bir kez tanımlanıp birçok vService ve Gruba atanan yeniden kullanılabilir ayar paketi. |
| Health Check | Kurum Servislerinin durumunu ölçen periyodik denetim; sağlıksız hedefi rotasyondan çıkarır. |
| Persistence | Bir istemcinin bağlantılarının aynı hedefe yönlendirilmesini sağlayan oturum sürekliliği. |
| SNAT (Source NAT) | Kurum Servisine iletilen isteğin kaynak IP adresinin TR7 cihazının IP adresiyle değiştirilmesini sağlar. Böylece Kurum Servisinin yanıt trafiği TR7 üzerinden geri döner ve trafik akışı simetrik olarak sürdürülür. Kurum Servisinin SNAT alanındaki Use Client IP seçeneği ise istemcinin gerçek IP adresini korur. |
| TLS Termination / Re-encrypt | Şifrenin vService'te çözülmesi ve gerekirse Kurum Servisi'ne yeniden şifrelenerek iletilmesi. |
Bölümler
İzleme ve Yönetim
Trafik ve Hedefler
Trafik Kararı ve Müdahale
Yapılandırma
Tipik Kurulum Akışı
Bir yük dengeleme yapısı genellikle aşağıdaki sırayla kurulur:
