Instytut Informatyki, Automatyki i Robotyki Load balancing
Uproszczony schemat struktury równoważącej obciążenia serwerowe
Techniki realizowane w warstwie 4 Równoważenie polegające na rozpraszaniu pakietów sieciowych adresowanych na wirtualny adres IP miedzy serwery posiadające zdolność do realizacji żądań odpowiadających usłudze Rozwiązanie programowe Duża wydajność Mała elastyczność funkcji Ilość jednoczesnych połączeń zależna od dostępnej pamięci
Rozpraszanie ruchu w warstwie 4 Algorytm karuzelowy (ang. round robin, rr) najprostszy algorytm rozpraszający ruch; ruch rozdzielany jest cyklicznie między wszystkie serwery replikowane. Algorytm karuzelowy z wagami (ang. weight round robin, wrr) modyfikacja algorytmu karuzelowego; każdy serwer replikowany otrzymuje wagę, która uwzględniona jest przy rozpraszaniu ruchu; serwery z największą wagą otrzymują najwięcej ruchu; najlepiej wykorzystać można, gdy serwery replikowane nie posiadają takich samych zasobów.
Rozpraszanie ruchu w warstwie 4 Metoda najmniejszej liczby połączeń (ang. least connected, lc) rozprasza ruch uwzględniając liczbę połączeń z danym serwerem replikowanym; Wybrany zostaje serwer, który ma najmniej ustanowionych połączeń. Metoda najmniejszej liczby połączeń z wagami (ang. weight least connected, wlc) modyfikacja algorytmu najmniejszej liczby połączeń; Ruch rozpraszany zostaje na podstawie informacji o liczbie połączeń z danym serwerem replikowanym oraz jego wadze.
Rozpraszanie ruchu w warstwie 4 Metoda najmniejszej liczby połączeń wykorzystująca informację o docelowym przeznaczeniu pakietu (ang. locality-based least-connection, lblc). utworzenie w pamięci tablicy, w której zapisywany jest docelowy adres IP pakietu oraz informacje o przyporządkowanym mu serwerze; cały ruch adresowany na konkretny adres IP kierowany jest do jednego serwera; w momencie, kiedy jest on przeładowany lub reguła nie istnieje w pamięci, przyporządkowanie odbywa się według zasad metody najmniejszej liczby połączeń (lc), jednocześnie w pamięci tworzona zostaje nowa reguła przyporządkowania; algorytm przekazuje pakiety adresowane na dany adres IP serwerowi, który go obsługuje.
Rozpraszanie ruchu w warstwie 4 Metoda najmniejszej liczby połączeń wykorzystująca informację o docelowym przeznaczeniu pakietu z replikacją (ang. Locality-Based Least-Connection with Replication, lblcr). Metoda ta działa tak samo jak metoda lblc z tą różnicą, iż przyporządkowanie uwzględnia nie jeden serwer a grupę serwerów. Metoda uwzględniająca docelowy adres IP (ang. destination hashing, dh). W pamięci tworzona jest statyczna tablica mieszająca (ang. hash table) przyporządkowująca docelowy adres IP do konkretnego serwera replikowanego.
Rozpraszanie ruchu w warstwie 4 Metoda uwzględniająca źródłowy adres IP (ang. source hashing, sh). W pamięci tworzona jest statyczna tablica mieszająca (ang. hash table) przyporządkowująca źródłowy adres IP do konkretnego serwera replikowanego. Metoda najkrótszego spodziewanego opóźnienia (ang. shortest expected delay, sed) wybór serwera, dla którego szacowane opóźnienie będzie najmniejsze. Metoda braku oczekiwania (ang. never queue) przyporządkowanie serwera w stanie bezczynności. w przypadku, gdy wszystkie serwery są w użyciu, metoda ta zachowuje się jak metoda najkrótszego spodziewanego opóźnienia (sed).
Czego nam potrzeba? Informacje dostępne dla mechanizmów równoważenia na poziomie 4: Adres źródłowy IP Źródłowy port Docelowy adres IP Docelowy port
Równoważnie obciążenia z translacją adresów sieciowych
Równoważnie obciążenia z bezpośrednią odpowiedzią serwera
Równoważnie obciążenia wykorzystujące protokoły tunelowania
Techniki realizowane w warstwie 7. Działanie w trybie buforowania wstecznego (ang. reverse proxy) Ukrycie rozpraszania ruchu przed użytkownikami Zależność od liczby połączeń oraz specyfiki przesyłanego ruchu Funkcja wspomagania bezpiecznego połączenia (SSL) Funkcja filtrowania zapytań – zapamiętywanie powtarzalnych
Techniki realizowane w warstwie 7.
Metody wyboru serwera aplikacyjnego Rozdzielanie przy pomocy algorytmu szeregowania - podstawowa metoda rozpraszania ruchu między serwery aplikacyjne. Analiza składnikowa adresu URL. Analizie poddana zostaje ścieżka adresu URL w zapytaniu od klienta.
Metody wyboru serwera aplikacyjnego Stan podtrzymania. Rozwiązanie to realizowane jest przy pomocy ciasteczek (ang. cookies).
LB v4 vs v7 Layer 4 Load Balancer: Layer 7 Load Balancer skalowalny niezawodny wysoka dostępność równoważenie obciążeń Layer 7 Load Balancer nieskalowalny niska jakość (wymaga mocnego sprzętu) złożony kod programowy wymaga kodu klienta dla każdego protokołu + procedura bezpieczeństwa pojedynczy punkt awarii serwery farmy nie mogą ulegać awarii, zatem: nie zalecany dla systemów wysokiej dostępności obciążenie rozproszone jednak nie-zrównoważone
Łączenie rozwiązań