Nginx Sunucular Üzerinde HTTP Load Balancer Konfigürasyonu

Bu yazımızda bir web sunucunun HTTP Load Balancer olarak
nasıl konfigüre edileceğini ele alacağız. Buradaki amacımız yük altında kalan
sunucularımızın hizmet kesintisine uğramasını elimizden geldiğince engellemek
olacak.

Konfigürasyonları son yıllarda oldukça popüler olan Nginx
web sunucular üzerinde gerçekleştireceğiz. Yazıda bahsedeceğimiz LB
ayarları  temel düzeyde konfigürasyonları
içerecek.  Benzer ayarlar  Apache web sunucular üzerinde de
gerçekleştirilebilir.
İşletim sistemi olarak Ubuntu Server kullanılmıştır.
Senaryomuzu özetleyecek olursak;
Toplamda 3 adet Nginx web sunucu. Bunlardan 1 tanesi LB
diğer ikisi bu LB arkasında çalışan web sunucular olarak ayarlanacak.

Nginx LB metodlarından round robin adı verilen metodu
kullanarak işlemlerimizi gerçekleştireceğiz.

Load Balancer Ayarı

Aşağıdaki resimde görüldüğü gibi öncelikle senaryomuz için isteklerin
dağıtılacağı sunucu adreslerimizi bir blog halinde tanımlıyoruz. Bu işlem için
“upstream” parametresi ve bu parametreden sonra gelecek bir isim belirtmemiz
gerekiyor.

Sunucu bloglarımızı tanımladıktan sonra isteklerin hangi
port üzerinden hangi dizine gideceğini aşağıdaki gibi server blogu altına
tanımlıyoruz. Burada gelen tüm isteklerin daha önce belirlediğimiz sunuculara
dağılması için “proxy_pass” parametresi ve bir önceki ayarda tanımladığımız
ismi başına “http” koyarak buraya ekliyoruz.

İşlemleri tamamladıktan sonra konfigürasyonu dosyasını
kaydedip editörden çıkıyoruz.

Yaptığımız konfigürasyonun aktif  hale gelmesi için aşağıdaki komutu
kullanabiliriz. Eğer bir hata olursa nginx servisi bu komut çalıştırılırken
size bilgi verecektir.

Web01 isimli sunucumuza gelen isteği teyit ettikten sonra
aynı IP adresine bir istek daha yapıyoruz.

Bu sefer isteğimize cevap Web02 sunucumuzdan geldi. Şimdi
bir önceki istekte olduğu gibi erişim loglarını kontrol edelim.

Sürekli oluşturulan http isteklerinde loglar aşağıdaki gibi
görünecektir. Gönderilen istekler bu şekilde iki sunucu üzerine dağıtılacak ve web
sunucularınıza binen yük dengelenmiş olacaktır.

Furkan SANDAL

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.