Load Balancing Nədir?
Load balancing (yük paylama) – məlumat mərkəzlərində və server infrastrukturunda tətbiqlərin, xidmətlərin və resursların effektiv işləməsini təmin etmək üçün istifadə edilən bir texnologiyadır. Bu texnologiya, istifadəçi tələblərini və məlumat axınını çox sayda server arasında bərabər şəkildə paylamağa imkan verir. Nəticədə, hər hansı bir serverin həddən artıq yüklənməsi və sistemin performansının aşağı düşməsi qarşısı alınır.
Load Balancing İş Prinsipi
Load balancing prosesində bir və ya bir neçə load balancer cihazı və ya proqramı istifadə olunur. Bu balancerlər istifadəçilərdən gələn tələbləri qəbul edir və onları müxtəlif serverlər arasında bölüşdürür. Beləliklə, hər bir server eyni vaxtda yalnız müəyyən bir miqdarda yük alır. Balanslama alqoritmləri, məsələn, "Round Robin" və ya "Least Connections", bu bölüşdürmənin necə həyata keçiriləcəyini müəyyən edir.
Load Balancing-in Əsas Məqsədləri
-
Performansın artırılması: Tətbiqlər və xidmətlər üçün yüklənmiş serverlərin optimallaşdırılması sistemin performansını artırır və istifadəçilərin daha sürətli cavab almasına səbəb olur.
-
Etibarlılığın təmin edilməsi: Load balancer-lər serverlər arasında yükü paylayaraq, hər hansı bir serverin nasaz olacağı halda sistemin dayanmadan işləməsinə şərait yaradır. Bu isə “single point of failure” riskini azaldır.
-
Mövcudluğun artırılması: Serverlərin sayı artırıldıqda, sistem resurslarının yüksək mövcudluğu təmin edilir və xidmət fasilələri minimuma endirilir.
Load Balancing Alqoritmləri
Ən çox istifadə olunan alqoritmlər aşağıdakılardır:
-
Round Robin: Bu metod hər tələbi növbə ilə serverlər arasında paylayır. Məsələn, birinci tələbi birinci serverə, ikincini isə ikinci serverə və s. göndərir. Bu sadə metoddur, lakin hər bir serverin yükünü nəzərə almır.
-
Least Connections: Bu alqoritm, ən az sayda aktiv bağlantıya malik olan serverə tələbləri yönəldir. Bu, hər bir serverin mövcud vəziyyətini nəzərə alaraq daha effektiv yük paylanması təmin edir.
-
IP Hash: Bu metod, istifadəçinin IP ünvanına əsasən tələbi müəyyən bir serverə yönəldir. Nəticədə, eyni IP-dən gələn tələblər həmişə eyni serverə göndərilir.
-
Weighted Round Robin: Bu üsulda serverlərə müəyyən çəki (weight) təyin olunur və daha güclü serverlər daha çox tələb qəbul edir. Bu, resursların daha effektiv istifadəsini təmin edir.
Load Balancer Türləri
-
Hardware Load Balancer: Bu balancer-lər xüsusi cihazlardır və böyük həcmli trafiki idarə etmək üçün istifadə olunur. Onlar adətən yüksək performans və etibarlılıq tələb olunan böyük şirkətlər tərəfindən istifadə olunur.
-
Software Load Balancer: Bu balancer-lər isə proqram təminatı ilə həyata keçirilir və adətən kiçik və orta həcmli sistemlər üçün uyğundur. Ən məşhur proqram təminatlarından biri Nginx-dir.
Load Balancing-in Üstünlükləri
-
Daha yaxşı performans: Serverlər arasındakı yük düzgün bölüşdürüldükdə, resurslardan optimal istifadə təmin olunur və istifadəçilər daha sürətli cavablar alır.
-
Yüksək mövcudluq: Sistem nasazlıqlarına və fasilələrə qarşı daha davamlı olur. Hər hansı bir server nasazlıqla üzləşdiyində, digər serverlər iş yükünü öz üzərinə götürə bilir.
-
Asan miqyaslandırma: Tələblərin artdığı hallarda yeni serverlər əlavə etməklə sistemin genişləndirilməsi asanlaşır və mövcud balancerlər avtomatik olaraq yeni resursları idarə edə bilir.