Transcript SK-w11
Instytut Informatyki, Automatyki i Robotyki Load balancing Uproszczony schemat struktury równoważącej obciążenia serwerowe 2 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 3 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. 4 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. 5 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. 6 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. 7 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). 8 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 9 Równoważnie obciążenia z translacją adresów sieciowych 10 Równoważnie obciążenia z bezpośrednią odpowiedzią serwera 11 Równoważnie obciążenia wykorzystujące protokoły tunelowania 12 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 13 Techniki realizowane w warstwie 7. 14 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. 15 Metody wyboru serwera aplikacyjnego • Stan podtrzymania. Rozwiązanie to realizowane jest przy pomocy ciasteczek (ang. cookies). 16 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 17 Łączenie rozwiązań 18