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