HAProxy ile Yük Dengeleme (Load Balancing) Nasıl Yapılır?

Bu blog yazısında HAProxy'nin ne olduğunu, nasıl kurulduğunu ve yük dengeleme yapmanın yollarını detaylı bir şekilde öğrendiniz. Yüksek trafikli web siteleri için HAProxy kullanmak, performansı artırmanın ve sürekliliği sağlamanın en iyi yollarından birid

BFS

Web sitelerinin performansı ve sürekliliği, artık her geçen gün daha fazla önem kazanıyor. Eğer bir web sitesi üzerinden ciddi bir trafik alıyorsanız, tek bir sunucu ile bu yükü kaldırmak, hem site hızını düşürür hem de kesintilere sebep olabilir. İşte burada, “HAProxy” devreye giriyor! Bugün, HAProxy ile yük dengeleme nasıl yapılır, detaylıca inceleyeceğiz. Merak etmeyin, adım adım her şeyi basitçe anlatacağız, siz de hızla uygulayabilirsiniz.

HAProxy Nedir?


HAProxy, en yaygın olarak kullanılan açık kaynaklı yük dengeleme yazılımlarından biridir. Yük dengeleme, birden fazla sunucuya gelen trafiği eşit bir şekilde dağıtarak sistemin daha verimli çalışmasını sağlar. Bu sayede hem site hızınızı artırabilir hem de hizmet sürekliliğinizi sağlayabilirsiniz. HAProxy, özellikle HTTP ve TCP protokollerini destekler, bu da onu web uygulamaları için oldukça güçlü bir seçenek yapar.

HAProxy Kurulumu


Şimdi, HAProxy’yi Linux sunucumuza nasıl kuracağımıza bir göz atalım. İlk adım olarak, terminal üzerinden HAProxy paketini yüklememiz gerekecek.

1. Adım: HAProxy'yi Yüklemek

HAProxy'yi yüklemek için terminalinize şu komutu yazabilirsiniz:


sudo apt update
sudo apt install haproxy


Bu işlem birkaç dakika sürecektir. Paket başarıyla yüklendikten sonra, HAProxy servisini başlatmak için şu komutu kullanabilirsiniz:


sudo systemctl start haproxy


Ve son olarak, HAProxy’nin her reboot sonrası otomatik olarak başlamasını sağlamak için:


sudo systemctl enable haproxy


2. Adım: Yapılandırma Dosyasını Düzenlemek

Şimdi HAProxy'nin yapılandırma dosyasını düzenleyerek yük dengeleme yapılandırmasını yapacağız. Bu dosya genellikle `/etc/haproxy/haproxy.cfg` yolunda bulunur. Dosyayı düzenlemek için:


sudo nano /etc/haproxy/haproxy.cfg


Dosya açıldığında, HTTP yük dengelemesi için temel bir yapılandırma ekleyeceğiz. İşte basit bir örnek:


frontend http_front
    bind *:80
    default_backend http_back

backend http_back
    balance roundrobin
    server webserver1 192.168.1.10:80 check
    server webserver2 192.168.1.11:80 check


Bu yapılandırma, gelen tüm HTTP isteklerini (port 80 üzerinden) iki web sunucusuna (`webserver1` ve `webserver2`) yönlendirecek şekilde ayarlanmıştır. Burada `balance roundrobin` komutu, trafiği sunucular arasında döngüsel olarak dağıtmak anlamına gelir.

3. Adım: Konfigürasyonu Test Etmek

Yapılandırma dosyasındaki değişiklikleri kaydettikten sonra, HAProxy'nin doğru çalışıp çalışmadığını kontrol edebiliriz. Bunun için şu komutu yazın:


sudo haproxy -c -f /etc/haproxy/haproxy.cfg


Eğer herhangi bir hata almazsanız, yapılandırmanız doğru demektir. Şimdi HAProxy'yi yeniden başlatabilirsiniz:


sudo systemctl restart haproxy


Yük Dengeleme Stratejileri



HAProxy, yalnızca basit trafik yönlendirme değil, aynı zamanda gelişmiş yük dengeleme stratejileri de sunar. Örneğin, `roundrobin` dışında aşağıdaki stratejileri de kullanabilirsiniz:

1. Least Connection: Trafiği, en az bağlantısı olan sunucuya yönlendirir.


   balance leastconn
   


2. Source IP Hashing: Aynı istemciden gelen tüm istekleri, aynı sunucuya yönlendirir.


   balance source
   


Bu stratejiler, yüksek trafikli sistemlerde daha verimli ve dengeli bir trafik yönetimi sağlar.

HAProxy ile Sağlık Kontrolü Yapmak



Yük dengeleme sadece trafiği yönlendirmekle kalmaz, aynı zamanda her bir sunucunun sağlığını da kontrol eder. HAProxy'nin sunduğu sağlık kontrolü, bir sunucu arızalandığında trafiği otomatik olarak sağlıklı bir sunucuya yönlendirecek şekilde çalışır. Örneğin, sunucunun HTTP yanıtlarını kontrol ederek, yanıt vermeyen bir sunucuya trafiği yönlendirmeyi engelleyebilirsiniz.

Bu tür bir sağlık kontrolü yapılandırması şu şekilde yapılır:


backend http_back
    balance roundrobin
    server webserver1 192.168.1.10:80 check
    server webserver2 192.168.1.11:80 check
    option httpchk HEAD / HTTP/1.0\r\nHost:localhost


Bu yapılandırma, her 5 saniyede bir, her sunucudan HTTP başlıklarını kontrol ederek sağlık durumlarını izler.

Sonuç



HAProxy ile yük dengeleme kurulumunu ve yapılandırmasını yapmayı öğrendik. Yük dengelemesi, web sitenizin trafiğini daha verimli hale getirebilir ve yüksek erişilebilirlik sağlayarak kesintisiz bir deneyim sunar. HAProxy, güçlü ve esnek yapısıyla özellikle yüksek trafiğe sahip uygulamalar için harika bir tercihtir. Artık HAProxy'yi kurarak ve yapılandırarak, trafiğinizi rahatlıkla yönetebilirsiniz!

İlgili Yazılar

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

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'...

Linux'ta Nagios ile İzleme: Sistem Performansınızı Nasıl Mükemmel Hale Getirirsiniz?

Merhaba Sistem Tutkunları! Sistemlerinizin nabzını tutmak, performansını artırmak ve sorunları daha ortaya çıkmadan yakalamak, günümüz dijital dünyasında olmazsa olmaz. Peki, bu zorlu görevde yanınızda kim var? Tabii ki Nagios! Linux ortamında güçlü,...