HAProxy Nedir ve Neden Kullanılır?
HAProxy, ağ trafiğini birden fazla sunucuya yönlendiren ve bu sayede uygulamanızın performansını arttıran bir yük dengeleme aracıdır. Yük dengeleme sayesinde, gelen trafiği farklı sunucular arasında paylaştırarak sistemdeki tıkanıklıkları önler ve web uygulamalarının kesintisiz çalışmasını sağlar.
HAProxy Kurulumu:
HAProxy kurulumuna geçmeden önce, sisteminizde root yetkilerine sahip olduğunuzdan emin olun. Ardından, aşağıdaki adımları takip ederek HAProxy’yi kurabilirsiniz:
Linux sunucunuzda HAProxy’yi yüklemek için, paket yöneticisini kullanarak basit bir komutla kurulum yapabilirsiniz. Eğer Ubuntu veya Debian tabanlı bir sistem kullanıyorsanız, şu komutla başlayabilirsiniz:
sudo apt update
sudo apt install haproxy
Eğer CentOS ya da RedHat kullanıyorsanız, şu komutu kullanarak HAProxy’yi yükleyebilirsiniz:
sudo yum install haproxy
# 2. Adım: HAProxy Yapılandırmasını Düzenleyin
HAProxy kurulduktan sonra, yapılandırma dosyasını düzenlememiz gerekecek. HAProxy’nin ana yapılandırma dosyası `/etc/haproxy/haproxy.cfg`'dir. Bu dosyayı bir metin düzenleyici ile açın ve şu şekilde düzenleyin:
sudo nano /etc/haproxy/haproxy.cfg
Dosyada, frontend (gelen trafik) ve backend (sunucular) bölümlerini yapılandırmanız gerekir. Basit bir yapılandırma örneği şu şekildedir:
frontend http_front
bind *:80
default_backend http_back
backend http_back
balance roundrobin
server server1 192.168.1.2:80 check
server server2 192.168.1.3:80 check
Burada, `frontend` kısmı gelen trafiği dinler ve `backend` kısmına yönlendirir. `balance roundrobin` komutu ise trafiği sunucular arasında eşit şekilde dağıtır.
# 3. Adım: HAProxy'yi Başlatın ve Durumunu Kontrol Edin
Yapılandırma dosyasını kaydedip çıkın. Ardından, HAProxy servisini başlatın:
sudo systemctl start haproxy
HAProxy'nin düzgün çalışıp çalışmadığını kontrol etmek için şu komutu kullanabilirsiniz:
sudo systemctl status haproxy
Eğer her şey yolundaysa, `active (running)` ifadesi görünecektir.
# 4. Adım: HAProxy'yi Otomatik Başlatılacak Şekilde Ayarlayın
Sunucu her açıldığında HAProxy’nin otomatik olarak çalışmasını istiyorsanız, aşağıdaki komutla bunu ayarlayabilirsiniz:
sudo systemctl enable haproxy
Load Balancing Yöntemleri
HAProxy, birden fazla load balancing algoritması sunar. Trafiği yönlendirmek için farklı yöntemler kullanabilirsiniz. En yaygın kullanılan yöntemler şunlardır:
Bu yöntem, trafiği sunuculara sırayla gönderir. Yani, ilk gelen isteği birinci sunucuya, ikinci isteği ikinci sunucuya gönderir ve böyle devam eder.
# 2. Least Connections
Bu yöntem, en az bağlantıya sahip olan sunucuya trafik gönderir. Sunuculardan biri daha fazla bağlantı alıyorsa, diğer sunuculara yönlendirilir.
Bu yöntemde, her kullanıcının IP adresine göre yönlendirme yapılır. Yani aynı IP adresinden gelen trafik, her zaman aynı sunucuya yönlendirilir. Bu, oturumların korunmasını sağlar.
Yukarıda bahsedilen yöntemlerden birini seçmek için yapılandırma dosyanızda şu şekilde bir değişiklik yapabilirsiniz:
backend http_back
balance leastconn
server server1 192.168.1.2:80 check
server server2 192.168.1.3:80 check
HAProxy’nin İzlenmesi ve Hata Ayıklaması
HAProxy’nin çalıştığını ve trafiğin düzgün bir şekilde yönlendirildiğini izlemek için log dosyalarını kullanabilirsiniz. HAProxy logları, `/var/log/syslog` veya `/var/log/haproxy.log` dosyalarında tutulur. Logları kontrol ederek, yük dengeleme ve sunucu durumlarını izleyebilirsiniz.
HAProxy, web uygulamanızın performansını arttıran ve yüksek trafikli zamanlarda stabilite sağlayan güçlü bir araçtır. Basit bir kurulum ve yapılandırma ile sunucularınızı yük dengelemesi yaparak daha verimli çalıştırabilirsiniz. HAProxy sayesinde, web siteniz hiç olmadığı kadar hızlı ve kesintisiz çalışabilir.
Ayrıca, HAProxy’nin sunduğu farklı yük dengeleme yöntemlerini kullanarak trafiği en verimli şekilde yönlendirebilir ve uygulamanızın performansını arttırabilirsiniz.