• 06-01-2019, 22:31:07
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhabalar arkadaşlar,

    Bu load balance ile ilgili bir haftadır araştırma yapıyorum aklımda birkaç soru var.

    • Şuanda Türkiye'de 4 farklı verimerkezinde, yurt dışında 1 verimerkezinde sunucularım var.
    • Bir java web uygulamam var mysql ile beraber çalışıyor.
    • Uygulamamı kullanan kullanıcılar bu sunucuların tümünü kullabilsin istiyorum. Yani 5 sunucuda çalışsın en müsait sunucu hangisi ise yeni gelen kullanıcı o sunucuya aktarılsın istiyorum.

    Bunun için ne yapabilirim? Hangi uygulamaları kullanmam lazım? Yardımlarınızı bekliyorum.

    İyi Çalışmalar.
  • 06-01-2019, 22:38:06
    #2
    load balancer olarak Nginx kullanıyorum, 10 civarı sunucu var arka planda ön planda da 2 tane sunucum var. TR girişleri Netdirekt, yurt dışı girişleri OVH'dan dönüyor. GEO Dns ile yapıyorum bunu Nginx'i kullanmanızı öneririm. http://nginx.org/en/docs/http/load_balancing.html çok zengin bir dökümanı mevcut.
  • 06-01-2019, 23:37:42
    #3
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Araştırma yapmanız gereken yerler: Haproxy, Nginx ve round robin.
  • 13-01-2019, 21:47:24
    #4
    MertCenikut adlı üyeden alıntı: mesajı görüntüle
    load balancer olarak Nginx kullanıyorum, 10 civarı sunucu var arka planda ön planda da 2 tane sunucum var. TR girişleri Netdirekt, yurt dışı girişleri OVH'dan dönüyor. GEO Dns ile yapıyorum bunu Nginx'i kullanmanızı öneririm. http://nginx.org/en/docs/http/load_balancing.html çok zengin bir dökümanı mevcut.

    mert bey arkaplandaki sunucuların dosyalarında değişiklik yaparken 10 sunucuyu birden mi güncelliyorsunuz?
  • 13-01-2019, 21:50:29
    #5
    OzanFT adlı üyeden alıntı: mesajı görüntüle
    mert bey arkaplandaki sunucuların dosyalarında değişiklik yaparken 10 sunucuyu birden mi güncelliyorsunuz?
    Hayır, veritabanı olarak MongoDB Cluster kullanıyorum, sunucularda yaptığım değişiklikler diğerlerine ulaşsın diye storage olarak GlusterFS kullanıyorum araştırabilirsiniz.
  • 30-12-2019, 20:57:01
    #6
    MertCenikut adlı üyeden alıntı: mesajı görüntüle
    load balancer olarak Nginx kullanıyorum, 10 civarı sunucu var arka planda ön planda da 2 tane sunucum var. TR girişleri Netdirekt, yurt dışı girişleri OVH'dan dönüyor. GEO Dns ile yapıyorum bunu Nginx'i kullanmanızı öneririm. http://nginx.org/en/docs/http/load_balancing.html çok zengin bir dökümanı mevcut.
    dostum, abd'den gelen kullanıcıları abd'de bulunan ve eu'dan gelenleri ise eu'da bulunan serverdan serve etmek için sadece geodns mi lazım?
  • 30-12-2019, 22:35:03
    #7
    Platin üye
    Merhaba,

    Load Balance için kendi sisteminizi kuracaksanız nginx öneririz. Tavsiyemiz bir ubuntu sunucuya nginx kurmanız. Nginx kurduktan sonra 3 seçeneğiniz var round-robin, least-connected ve ip-hash eşit olarak dağıtmak istiyorsanız size en uygun olanı least_conn' dur. robin türü istekleri sırayla atar örneğin 2 sunucunuz var. Gelen 1. istek 1. sunucuya 2. istek 2. sunucuya 3. istek tekrar 1. sunucuya sırayla gider fakat hangi sunucuda kaç istek var saymaz. Bu durumda şöyle bir dezavantajınız olur. 1. sunucuda 50 kişi var 2. sunucuda 50 kişi var. Gelecek 101. istek sıraya uygun olarak 1.sunucuya gidecek ve 1. sunucuda 51 kişi olacak gelecek 102. istek 2. sunucuya gidecek ve oda 51 olacak fakat diyelim ki 1. sunucudaki 50 kişi aynı anda sistemden çıktı ve sunucu tamamen boşaldı. robin kullanırsanız nginx bunu saymaz ve hala istekleri eşit dağıtmaya devam eder. Gelecek 103. istek 1. sunucuya gidecek ve 1. sunucu 2 kişi olacak 104. istek 2. sunucuya gidecek ve oda 52 olacak. Bu şekilde bir dengesizlik olacak ve yükünüz eşit dağıtılmayacak. Bunu engellemek için least_conn kullanırsanız her zaman sunucudaki aktif kişi sayısını eşitler. Yani 1. sunucuda 2 kişi var 2. sunucuda 52 kişi var ise artık gelen tüm isteklere diğeriyle eşit olana kadar 1. sunucuya gönderecek ve yükü eşit dağıtacak. Kısacası least_conn upstream altındaki tüm sunuculardaki anlık conn' ları sayar ve ona göre dağıtır. Ayrıca Nginx GeoIP2 modülünü kullanarak her gün güncellenen ücretsiz MaxmindDB ile gelen client IP adreslerinin ülkelerine göre kural yazarak istediğiniz gibi dağıtabilirsiniz. Örneğin gelen IP adresinin ülkesi sallıyorum TR ve FR ise şu sunuculara gitsin bunlar değilse şunlara gitsin vs. gibi istediğiniz şekilde ayar yapabilmeniz mümkün. Bunlarla uğraşmak istemiyorsanız https://www.cloudns.net/geodns/ üzerinden GeoDNS satın alarak işinizi kolaylaştırabilirsiniz fakat maliyetli olacaktır. Bizler şahsen web sitelerine sunduğumuz DDoS koruma hizmetinde 4 amerika ve 2 avrupa sunucu arasında anlattığımız mantıkta load balance yapıyor ve bu şekilde hizmet sağlıyoruz.

    Ayrıca ek olarak Nginx VTS modülünü kurarak load balance sunucusu üzerinde gelecek tüm istekleri detaylıca analiz edebilir ve loglayabilirsiniz.