VDS ve kiralık sunucu kümeleriniz için HAProxy, Nginx ve Caddy yük dengeleyici (Load Balancer) yapılandırmalarını oluşturun; sağlık kontrolleri ve bağlantı havuzuyla sıfır kesintili yüksek erişilebilirlik (HA) kurun.
Ters vekil (Reverse Proxy) giriş adresini ve arka uç sunuculara trafik dağıtım stratejisini belirleyin.
İdeal Senaryo: API sunucuları, WebSocket uygulamaları, WooCommerce ve değişken süreye sahip dinamik arka uçlar.
İsteklerin yönlendirileceği VDS veya Docker konteyner IP adresleri ve ağırlıkları.
| Düğüm | Sunucu IP / Host | Port | Ağırlık (Weight) | Yedek (Backup) | Sil |
|---|---|---|---|---|---|
| srv_1 | |||||
| srv_2 | |||||
| srv_3 |
HAProxy, Nginx veya Caddy için optimize edilmiş konfigürasyon kodunu tek tıkla kopyalayın.
# /etc/haproxy/haproxy.cfg
# Generated by HostBilgim Load Balancing Architecture Generator
global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
user haproxy
group haproxy
daemon
maxconn 50000
defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
frontend http_front
bind *:80
option forwardfor
default_backend app_cluster
backend app_cluster
balance leastconn
option httpchk GET /healthz
http-check expect status 200
server srv_1 10.0.0.1:3000 check inter 3s fall 3 rise 2 maxconn 2000
server srv_2 10.0.0.2:3000 check inter 3s fall 3 rise 2 maxconn 2000
server srv_3 10.0.0.3:3000 check inter 3s fall 3 rise 2 maxconn 2000 backupMevcut aktif TCP bağlantılarını koparmadan yapılandırmayı uygulamak için çalıştırılacak komutlar:
sudo systemctl reload haproxysudo nginx -t && sudo nginx -s reloadsudo caddy reload --config /etc/caddy/Caddyfileİlk arka uç sunucunuzun HTTP 200 yanıtı verip vermediğini terminalden test edin:
Sunucunuz 200 OK haricinde 500, 502 veya 404 döndürdüğünde yük dengeleyici 9 saniye içinde o düğümü trafikten otomatik olarak izole eder.
HAProxy: Saf yük dengelemede (Load Balancing) endüstri standardıdır. En yüksek RPS verimi, milisaniyelik sağlık kontrolleri ve zengin istatistik paneli sunar; büyük kurumsal sunucu kümeleri için 1 numaralı tercihtir.
Nginx: Web sunucusu, statik dosya önbellekleme ve ters vekili tek bir ikili dosyada birleştiren çok yönlü all-in-one çözümdür.
Caddy: Dahili Let's Encrypt / ZeroSSL otomasyonu ve sade Caddyfile sözdizimi ile DevOps operasyon yükünü sıfıra indiren modern Go tabanlı alternatiftir.
Sunucularınız eşit donanıma sahipse ve istekler statik/kısa sürüyorsa Round Robin yeterlidir. Ancak e-ticaret sepeti, karmaşık SQL sorguları veya WebSocket gibi değişken süreli bağlantılarda Least Connections (en az aktif bağlantıya sahip sunucuyu seçme) algoritması, arka uç düğümlerinin kilitlenmesini kesin olarak engeller. Ortak Redis oturum havuzu bulunmayan eski uygulamalarda ise kullanıcının aynı sunucuya bağlanması için IP Hash / Sticky Cookie şarttır.
Ters vekil ile arka uç uygulama sunucuları (Node.js, PHP-FPM, Go, Python) arasındaki her istekte yeni bir TCP el sıkışması yapmak ciddi CPU ve gecikme (latency) israfına yol açar. Nginx'te keepalive 64; ve HAProxy'de http-reuse safe direktifleri ile açık TCP soketleri havuzda tutularak p99 yanıt süreleri yüzde 30-45 oranında hızlandırılır.
Yeni bir sunucu eklerken veya yapılandırmayı güncellerken servisi restart etmek o anda işlem yapan kullanıcıların bağlantısını koparır. Bunun yerine daima systemctl reload veya nginx -s reload sinyali gönderilmelidir; bu sayede eski işlemler tamamlanana kadar eski süreç çalışmaya devam eder ve yeni istekler yeni yapılandırmayla karşılanır.