HAProxy ile Yük Dengeleme Nasıl Yapılır? Adım Adım Kurulum ve Yapılandırma

HAProxy ile Yük Dengeleme Nasıl Yapılır? Adım Adım Kurulum ve Yapılandırma

HAProxy ile yük dengeleme nasıl yapılır? Adım adım kurulum ve yapılandırma ile HAProxy'nin sunduğu avantajları keşfedin. Yüksek erişilebilirlik ve performans için HAProxy'nin nasıl kullanıldığını öğrenin.

BFS

Her zaman için sorunsuz çalışan web uygulamaları, doğru yapılandırılmış sunucu altyapıları gerektirir. Eğer bir web sitesine aşırı talep geliyorsa, sunucular tek başlarına bu yükü kaldıramaz. İşte burada HAProxy devreye girer. HAProxy, yüksek performanslı bir yük dengeleme (load balancing) çözümüdür ve çok sayıda web sunucusuna gelen trafiği etkili bir şekilde dağıtarak, her şeyin düzgün çalışmasını sağlar.

Bu yazıda, HAProxy’nin ne olduğunu ve nasıl kurulup yapılandırılacağını, yük dengelemenin nasıl yapılacağını adım adım öğreneceksiniz.

HAProxy Nedir?



HAProxy (High Availability Proxy), özellikle yük dengeleme ve yüksek erişilebilirlik (high availability) için kullanılan popüler bir açık kaynak yazılımıdır. HAProxy, gelen istemci taleplerini (requests) arka plandaki birden fazla sunucuya yönlendirerek, sunucuların aşırı yüklenmesini engeller. Bu sayede web siteniz, artan trafikle baş edebilecek kapasiteye sahip olur.

HAProxy Kurulum Adımları



HAProxy’yi kurmaya başlamak için öncelikle sunucunuza SSH ile bağlanmanız gerekir. Burada Ubuntu 20.04 kullanacağız, ancak diğer Linux dağıtımları için de benzer adımlar geçerli olacaktır.

1. HAProxy'yi İndirin ve Yükleyin

İlk adım, HAProxy'yi sisteminize yüklemektir. Bunun için terminal üzerinden aşağıdaki komutu kullanabilirsiniz:


   sudo apt update
   sudo apt install haproxy
   


Yükleme tamamlandığında, HAProxy otomatik olarak başlar.

2. HAProxy Yapılandırmasını Düzenleyin

HAProxy’nin yapılandırma dosyasını düzenleyerek yük dengeleme işlemini gerçekleştireceğiz. Yapılandırma dosyasına şu komutla ulaşabilirsiniz:


   sudo nano /etc/haproxy/haproxy.cfg
   


Burada, örnek bir yük dengeleme yapılandırması ekleyeceğiz. Dışarıdan gelen trafik, belirtilen IP adreslerine yönlendirilecektir. Şimdi, haproxy.cfg dosyasına aşağıdaki satırları ekleyin:


   global
       log /dev/log local0
       log /dev/log local1 notice
       chroot /var/lib/haproxy
       pidfile /var/run/haproxy.pid
       maxconn 2000
       user haproxy
       group haproxy
       daemon

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

   frontend http_front
       bind *:80
       default_backend http_back

   backend http_back
       balance roundrobin
       server web1 192.168.1.101:80 check
       server web2 192.168.1.102:80 check
   


Burada frontend kısmı, gelen tüm HTTP trafiğini alır ve bunu backend kısmına yönlendirir. backend kısmında ise yük dengeleme yapılacak sunucular belirtilmiştir. Yük dengeleme yöntemi olarak roundrobin seçilmiştir. Bu, gelen isteklerin sunuculara sırayla yönlendirilmesini sağlar.

3. HAProxy'yi Yeniden Başlatın

Yapılandırma dosyasını düzenledikten sonra, HAProxy servisini yeniden başlatmamız gerekir:


   sudo systemctl restart haproxy
   


4. HAProxy Durumunu Kontrol Edin

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 doğru çalışıyorsa, sunucularınıza gelen trafik HAProxy aracılığıyla dağıtılacaktır.

HAProxy ile Yük Dengeleme Yöntemleri



HAProxy, farklı yük dengeleme yöntemleri sunar. En popüler yöntemler şunlardır:

- Round Robin: Bu yöntem, gelen talepleri sırayla tüm sunuculara dağıtır.
- Least Connections: Bu yöntem, en az bağlantıya sahip olan sunucuya yönlendirme yapar. Eğer bazı sunucular daha fazla yük altındaysa, diğerleri devreye girer.
- Source IP Hash: Bu yöntemde, istemcinin IP adresine göre yönlendirme yapılır. Aynı IP adresi sürekli olarak aynı sunucuya yönlendirilir.

HAProxy ile Yüksek Erişilebilirlik Sağlamak



HAProxy sadece yük dengeleme yapmaz, aynı zamanda yüksek erişilebilirlik (high availability) sağlar. Örneğin, bir sunucu arızalandığında, HAProxy diğer sağlıklı sunuculardan gelen talepleri otomatik olarak alır. Bu sayede, kullanıcılarınız her zaman hizmet alabilir.

Yüksek erişilebilirlik sağlamak için sunucuların her birine health check eklemeniz gerekir. Bu sayede HAProxy, sunucuların durumunu kontrol eder ve sorunlu sunucuları devre dışı bırakır.

Örnek Health Check Yapılandırması:


   backend http_back
       balance roundrobin
       server web1 192.168.1.101:80 check
       server web2 192.168.1.102:80 check inter 2000 rise 2 fall 3
   


Burada inter parametresi, her sunucunun sağlık durumunu kontrol etmek için geçen süreyi belirtir. rise ve fall ise, sunucunun sağlıklı ya da arızalı sayılabilmesi için gerekli denemelerle ilgili ayarları yapar.

Sonuç



HAProxy ile yük dengeleme, web sitenizin hızını ve güvenilirliğini artırabilir. Yüksek erişilebilirlik sağlamak, kullanıcılarınızın kesintisiz bir deneyim yaşamasını sağlar. Kurulum ve yapılandırma adımlarını takip ederek HAProxy'yi kolayca kurabilir ve etkili bir yük dengeleme çözümü elde edebilirsiniz.

Ayrıca, HAProxy’nin sunduğu farklı dengeleme yöntemleri ve sağlık kontrolü özellikleri, altyapınızı daha sağlam hale getirebilir. Bu sayede web siteniz her zaman hızlı ve erişilebilir olur.

İ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ü,...