Auteur de la discussion #1
Sunucu Yük Dengeleme Ayarları

Giriş ve bağlam
Dağıtık uygulamalar için yük dengeleme, yalnızca gelen istekleri eşit olarak dağıtmakla kalmaz; aynı zamanda yanıt sürelerini azaltır, hata toleransını artırır ve ölçeklenebilirliği destekler. Ancak etkili bir yapı kurmak için ağ topolojisini, uygulama katmanını ve hedef SLA’ları netleştirmek gerekir. Bu yazı, temel kavramlardan başlayıp uygulamaya dönük adımları ve dikkat edilecek noktaları adım adım ele alır.

1) Yük dengeleyici tipleri ve hangi duruma göre seçim
  • DNS tabanlı yük dengeleyiciler: Basit, fakat kısa ömürlü önbellek ve isteğe bağlı TTL kontrolü gerektirir. Küçük ölçekli veya dinamik olmayan altyapılar için uygun olabilir.
  • L4 (transport katmanı) yük dengeleyiciler: IP ve TCP/UDP seviyesinde yönlendirme yapar, hızlıdır ve düşük gecikme sağlar; ancak oturum yönetimi sınırlı olabilir.
  • L7 (uygulama katmanı) yük dengeleyiciler: HTTP/HTTPS gibi protokollerde akışa özgü kararlar alabilir, header tabanlı yönlendirme, cookie tabanlı oturum paylaşımı ve sağlık kontrolleri gibi özellikler sunar.
  • Servertan bağımsız mı yoksa yönettiğiniz bulut hizmetiyle entegre mi olduğuna karar verin. Dağıtık bir mimaride çoğu zaman L7 çözümleriyle daha ince ayar gerekir.


2) Sağlık kontrolü ve eşik değerleri
Sağlık kontrolleri uygulamanın hangi durumda trafiği durduracağını belirler. HTTP durum kodu, yanıt süresi ve uygulama özel uç noktalar (örneğin /health veya /ready) üzerinden kontroller kurulur. Genelde:
  • Birincil sağlık kontrolü: Yanıt süresi 2–3 saniyeyi aşmamalı ve 2–3 hatalı yanıt ardışık görülmemeli.
  • Çift kontrol (passive + active): Aktif kontroller (periyodik istekler) ile pasif izleme (sonuçların hata durumlarına yakınlığı) birleştirilir.
  • Hızlı geri dönüş: Bir hedef çöktüğünde otomatik olarak birkaç saniye içinde kaldırılmalı ve yeniden deneme süreci minimumda tutulmalıdır.


3) Oturum yönetimi ve stabilize etme
Özellikle L7 çözümlerinde oturum paylaşımı kritik. Sticky session (oturum yapışkanlığı) ayarlarıyla kullanıcı isteğinin aynı hedefe yönlendirilmesi sağlanır; ancak bu durum hedeflerin eşit üzerinden yükü bozabilir. Alternatif olarak:
  • Uygulama katmanında oturum paylaşımı: JWT, sigilli tokenler veya merkezi cache (Redis gibi) ile durum bilgisinin merkezi olarak yönetilmesi.
  • Zaman aşımı ve TTL ayarları: Oturum verileri için uygun TTL belirlemek, bellek kullanımını dengeler.
  • Sağlık kontrollerinin oturum kırılmalarını tetiklemediğinden emin olmak.


4) İyileştirme ve loglama
Güncel metrikler olmadan ayarları optimize etmek zordur. İzlenmesi gereken metrikler:
  • Ortalama ve 95. yüzdelik yanıt süresi, hata oranı.
  • Hedef başına istek hacmi ve yönlendirme oranları.
  • Sağlık kontrolu başarısızlıkları, hedef eklemek/çıkarılanlar.
  • Yedeklilik içindeki senaryolar ve failover süreleri.

Ayrıca loglar üzerinden hangi hedeflerin sık sıçradığı ve hangi kombinasyonların yükü dağıttığını analiz etmek uzun vadeli performansı artırır.

5) Uygulama örneği ve temel konfigürasyon düşüncesi
Bir L7 yük dengeleyicisiyle bireysel uygulama sunucuları arasındaki iletişimi basit bir şekilde kurduğunuzda, sağlık kontrolleriyle otomatik yönlendirme ve oturum paylaşımı birlikte çalışır. Uygulama katmanında TLS termination veya end-to-end TLS tercihine göre konfigürasyonlar değişir; güvenlik gereksinimlerine göre güçlendirilmiş güvenlik grupları ve rate limiting uygulanabilir.

Sonuç ve kapanış
Yük dengeleme ayarları, yalnızca trafikleri bölmekle kalmaz; aynı zamanda uygulama davranışını ve yanıt sürelerini doğrudan etkiler. Doğru yapılandırma, ölçeklenebilirliği ve güvenilirliği korurken, ani trafik artışlarında bile kararlı operasyonlar sağlar. Bu bağlamda kendi altyapınız için hangi katmanda (L4 vs L7) odaklandığınızı, sağlık kontrollerinizi ve oturum yönetimini nasıl ele aldığınızı paylaşabilirsiniz.

Vous devez être connecté pour répondre.

0 citations sélectionnées