180 likes | 341 Views
Instytut Informatyki, Automatyki i Robotyki. Load balancing. Uproszczony schemat struktury równoważącej obciążenia serwerowe. Techniki realizowane w warstwie 4.
E N D
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 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
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: • 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