HAProxy, yüksek performanslı, açık kaynaklı bir yük dengeleyici ve proxy sunucusudur. Web sitenize gelen trafiği birden fazla sunucuya yönlendirerek, sisteminizin daha verimli çalışmasını sağlar. Bu sayede web siteniz daha hızlı, daha güvenilir ve ölçeklenebilir hale gelir. Eğer tüm bu özellikler size cazip geliyorsa, gelin birlikte HAProxy'yi nasıl kurup kullanabileceğimize göz atalım.
HAProxy Nedir?
HAProxy'nin sağladığı başlıca faydalar:
- Yük dengeleme: Trafiği birden fazla sunucuya paylaştırır.
- Yüksek erişilebilirlik: Eğer bir sunucu çalışmazsa, diğer sunucular devreye girer.
- SSL sonlandırma: Güvenli bağlantıları merkezi bir noktada sonlandırabilir.
- Yüksek performans: Hızlı ve verimli çalışır.
HAProxy Kurulumu
# 1. HAProxy Paketini Yükleme
sudo apt update
sudo apt install haproxy
Komut başarılı bir şekilde çalıştıysa, HAProxy sisteminize kurulmuş olacak.
# 2. HAProxy’nin Çalıştığını Kontrol Etme
sudo systemctl status haproxy
Eğer "active (running)" yazıyorsa, HAProxy başarıyla çalışıyor demektir.
HAProxy Konfigürasyonu
# 1. Konfigürasyon Dosyasını Düzenleme
sudo nano /etc/haproxy/haproxy.cfg
HAProxy yapılandırma dosyasında en önemli kısımlar `frontend`, `backend` ve `listen` bölümleridir.
- Frontend: Gelen trafik burada karşılanır.
- Backend: Trafik burada yönlendirilir.
- Listen: Hem frontend hem de backend ayarlarını içerir.
Aşağıdaki örnek, 80 numaralı port üzerinden gelen istekleri 3 farklı web sunucusuna yönlendiren basit bir yapılandırmadır:
frontend http_front
bind *:80
default_backend http_back
backend http_back
balance roundrobin
server web1 192.168.1.2:80 check
server web2 192.168.1.3:80 check
server web3 192.168.1.4:80 check
Yukarıdaki konfigürasyonda:
- `frontend http_front`: 80 portu üzerinden gelen trafiği alır.
- `backend http_back`: Trafiği `web1`, `web2`, ve `web3` sunucularına yönlendirir.
- `balance roundrobin`: Trafik, sunucular arasında round-robin yöntemiyle paylaştırılır.
# 2. Konfigürasyonu Kaydetme ve Uygulama
sudo systemctl restart haproxy
Bu adım, yeni yapılandırmanın uygulanmasını sağlar.
Yük Dengeleme Çeşitleri
1. Round-robin: Trafik, sunucular arasında sırayla dağıtılır. Bu, en yaygın kullanılan dengeleme yöntemidir.
2. Least Connections: Trafik, en az bağlantıya sahip sunucuya yönlendirilir.
3. Source IP Hashing: Trafik, istemcinin IP adresine göre belirli sunuculara yönlendirilir.
Yukarıda verdiğimiz örnekte roundrobin yöntemi kullanılıyor. Ancak, ihtiyacınıza göre farklı yöntemleri de seçebilirsiniz.
Sonuç
Hadi şimdi, yük dengelemenin keyfini çıkarın! Web sunucularınızın yükünü hafifletin ve daha hızlı, daha verimli bir deneyim sağlayın.