Round Robin yük dengeleme yöntemini adım adım nasıl uygulayacağınızı aşağıda detaylı bir şekilde açıklıyorum. Bu örnek, genellikle web sunucuları için kullanılan Nginx üzerinde Round Robin yük dengelemesini nasıl yapılandıracağınızı gösterir.
Öncelikle, Nginx’in sisteminize kurulu olması gerekir. Eğer Nginx kurulumunu yapmadıysanız “Nginx Kurulumu” başlıklı makalemi okuyarak gerekli kurulumu yapabilirsiniz. Ben kurulum için ilgi host firmasının NVMe SSD ile sunduğu WordPress VPS hizmetini kullanmaktayım sizlerede tavsiye ederim. Aşağıdaki komutlar ile hızlıca bir kuruluma başlayabilirsiniz lakin ben yinede kurulum konumu okumanızı şiddetle tavsiye ederim.
sudo apt update
sudo apt install nginx
Round Robin Sunucuların Belirlenmesi
Round Robin yük dengeleme yapabilmek için birden fazla backend sunucusuna ihtiyacınız var. Bu sunucular, web sitenizin veya uygulamanızın çalıştığı farklı sunucular olabilir. Örneğin:
backend1.mustafademirali.com
backend2.mustafademirali.com
backend3.mustafademirali.com
Round Robin Nginx Yapılandırma Dosyasını Düzenleme
Nginx yapılandırma dosyasında (genellikle /etc/nginx/nginx.conf
veya /etc/nginx/sites-available/default
), backend sunucularını ve load balancing yapılandırmasını tanımlayın.
Aşağıda basit bir Round Robin yapılandırması örneği verilmiştir:
http {
upstream backend_servers {
server backend1.example.com;
server backend2.example.com;
server backend3.example.com;
}
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://backend_servers;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
}
Round Robin Yapılandırmayı Kaydetme ve Test Etme
Yukarıdaki yapılandırmayı düzenledikten sonra, dosyayı kaydedin. Ardından, Nginx yapılandırmasının doğru olup olmadığını kontrol edin ve Nginx’i yeniden başlatın:
sudo nginx -t
sudo systemctl restart nginx
Round Robin Yapılandırmayı Test Etme
Nginx’in çalıştığını ve isteklerin doğru bir şekilde backend sunuculara yönlendirildiğini test etmek için tarayıcınızdan yourdomain.com
adresini ziyaret edebilirsiniz. İsteklerinizin sırasıyla farklı sunuculara yönlendirildiğini doğrulamak için sunucularda basit bir “hostname” testi yapabilirsiniz.
Örneğin, her backend sunucusunda aşağıdaki gibi farklı bir ana sayfa içeriği olabilir:
- backend1.mustafademirali.com: “Bu sayfa backend1’den geliyor”
- backend2.mustafademirali.com: “Bu sayfa backend2’den geliyor”
- backend3.mustafademirali.com: “Bu sayfa backend3’ten geliyor”
Tarayıcınızı yeniledikçe, isteklerin farklı sunuculardan geldiğini göreceksiniz.
Round Robin Gelişmiş Ayarlar (Opsiyonel)
Eğer isterseniz, Round Robin yük dengelemesini daha gelişmiş ayarlarla optimize edebilirsiniz. Örneğin:
- Ağırlıklı Round Robin (Weighted Round Robin): Her sunucuya belirli bir ağırlık atayarak, daha güçlü sunuculara daha fazla istek yönlendirilmesini sağlayabilirsiniz.
upstream backend_servers {
server backend1.example.com weight=3;
server backend2.example.com weight=2;
server backend3.example.com weight=1;
}
Bu yapılandırmada,
backend1
sunucusu diğer sunuculardan daha fazla istek alacaktır.Round Robin Sağlık Kontrolü (Health Check): Nginx’in kurulu olduğu sunucunun durumunu izleyip, herhangi bir sunucuya ulaşılabilir olmadığında o sunucuyu devre dışı bırakabilirsiniz. Bu, yüksek erişilebilirlik sağlar. Bu adımları takip ederek, Nginx ile Round Robin yük dengelemesini başarıyla yapılandırabilirsiniz. Round Robin, özellikle aynı kapasiteye sahip sunucular arasında trafiği dengeli bir şekilde dağıtmak için basit ama etkili bir yöntemdir.