HAProxy ile Load Balancing Yapmak ve Kurulum Rehberi

HAProxy ile Load Balancing Yapmak ve Kurulum Rehberi

HAProxy ile yük dengeleme nasıl yapılır, kurulum ve konfigürasyon adımları hakkında detaylı bir rehber. Bu blog, sistem yöneticilerine ve web geliştiricilerine yönelik olarak yazılmıştır.

BFS

Web sitenizin hızını artırmak ve yüksek trafikten korunmak için mükemmel bir çözüm arıyorsanız, HAProxy tam size göre! HAProxy, internet trafiğinizi birden fazla sunucuya dağıtarak sitenizin daha hızlı ve daha stabil çalışmasını sağlar. Şimdi, bu güçlü araçla tanışma zamanı!

HAProxy Nedir?


HAProxy (High Availability Proxy), yüksek performanslı ve ölçeklenebilir bir yük dengeleme yazılımıdır. Hem HTTP hem de TCP trafiğini yönetebilen bu araç, genellikle büyük ölçekli web uygulamalarında kullanılır. Web sitenize gelen istekleri birden fazla sunucuya yönlendirerek, hem sistemin performansını artırır hem de olası sunucu arızalarına karşı dayanıklılığı sağlar.

HAProxy Nasıl Kurulur?


İlk adım, HAProxy'nin sisteminize kurulumu olacaktır. Linux sunucunuzda bu işlemi nasıl yapacağınızı adım adım inceleyelim.


sudo apt update
sudo apt install haproxy


Kurulum tamamlandığında, HAProxy servisinin çalıştığından emin olmak için şu komutu verebilirsiniz:


sudo systemctl start haproxy


HAProxy Konfigürasyonu


HAProxy'yi kurduktan sonra, en önemli adım konfigürasyonu yapmaktır. Bu adımda, trafiğin nasıl yönlendirileceğini belirleyeceğiz.

HAProxy’nin konfigürasyon dosyası genellikle `/etc/haproxy/haproxy.cfg` yolunda bulunur. Bu dosyayı açarak ayarları yapmaya başlayalım:


global
  log 127.0.0.1 local0
  maxconn 200

defaults
  log     global
  option  httplog
  option  dontlognull
  timeout connect 5000ms
  timeout client  50000ms
  timeout server  50000ms

frontend http_front
  bind *:80
  acl is_www hdr(host) -i www.orneksite.com
  use_backend app1_back if is_www

backend app1_back
  balance roundrobin
  server app1 192.168.1.1:80 check
  server app2 192.168.1.2:80 check


Yukarıdaki konfigürasyon, gelen HTTP trafiğini `app1` ve `app2` adlı iki sunucuya eşit olarak dağıtarak yüksek kullanılabilirlik sağlar. Burada `roundrobin` algoritması kullanıldı; ancak ihtiyaca göre farklı dengeleme algoritmaları da kullanılabilir.

Load Balancing Yapmak


Şimdi yük dengelemenin mantığına gelelim. HAProxy, gelen istekleri belirli kurallara göre birden fazla sunucuya yönlendirir. Yük dengeleme için birçok algoritma bulunur. Bunlar arasında en yaygın kullanılanları şunlardır:

- Round Robin: İstekleri sırayla her sunucuya gönderir. Bu, eşit bir yük dağılımı sağlar.
- Least Connections: En az bağlantıya sahip sunucuya istek gönderir. Bu, sunucuların dengeli bir şekilde çalışmasını sağlar.
- Source IP Hash: İstemci IP adresine göre yönlendirme yapar. Bu, aynı istemcinin her zaman aynı sunucuya yönlendirilmesini sağlar.

Konfigürasyon dosyasında, `balance` direktifi ile bu algoritmalardan birini seçebilirsiniz:


backend app1_back
  balance leastconn
  server app1 192.168.1.1:80 check
  server app2 192.168.1.2:80 check


HAProxy’yi Yeniden Başlatmak


Konfigürasyon dosyasını düzenledikten sonra, HAProxy'yi yeniden başlatmak gerekecektir. Bunun için şu komutu kullanabilirsiniz:


sudo systemctl restart haproxy


HAProxy İzleme ve Yönetim


HAProxy'yi çalıştırırken, trafiği izlemek önemlidir. `/var/log/syslog` dosyası üzerinden logları takip edebilir ve trafiği analiz edebilirsiniz. Ayrıca, HAProxy'nin web tabanlı bir yönetim paneli de vardır. Bu paneli aktif hale getirmek için şu adımları izleyebilirsiniz:


frontend stats
  bind *:9000
  stats enable
  stats uri /haproxy_stats
  stats auth admin:admin


Bu ayar sayesinde, HAProxy yönetim paneline `http://sunucu-ip:9000/haproxy_stats` üzerinden erişebilirsiniz.

Sonuç


HAProxy ile yük dengeleme yapmak, web sitenizin performansını artırmak ve olası trafik artışlarıyla başa çıkabilmek için mükemmel bir çözüm sunar. Basit kurulumuyla güçlü özellikler sunan HAProxy, daha stabil ve hızlı bir web deneyimi oluşturmanıza yardımcı olacaktır.

İlgili Yazılar

Benzer konularda diğer yazılarımız

Gizli Hızlandırıcılar: Web Siteniz İçin En İyi JavaScript Performans İpuçları

Web geliştiriciliği, özellikle hız ve performans konusunda sürekli bir yarışa dönüşmüş durumda. Kullanıcılar sabırsızdır, hız önemli, SEO daha da önemli. Her geçen gün daha hızlı, daha verimli web siteleri oluşturmak için yeni yöntemler ve teknikler aranıyor....

DirectAdmin Nasıl Kurulur ve Yapılandırılır?

DirectAdmin Nedir ve Neden Kullanılır?Merhaba arkadaşlar! Bugün, birçok web yöneticisinin en çok tercih ettiği kontrol paneli olan DirectAdmin’i nasıl kuracağımızı ve yapılandıracağımızı keşfedeceğiz. İlk başta, DirectAdmin nedir, biraz ondan bahsedelim.DirectAdmin,...

Cronjob 'Not Running' Hatası ve Çözümü: Sorunları Çözmenin Adımları

Bir sabah işinize başlamadan önce, otomatik olarak çalışması gereken bir cronjob’ın neden çalışmadığını düşündünüz mü? Ne yazık ki, bu tür sorunlarla karşılaşmak oldukça yaygın, ancak çözümü de bir o kadar basit olabilir. Eğer siz de cronjob 'Not Running'...