load balancing

18
Load balancing Instytut Informatyki, Automatyki i Robotyki

Upload: jock

Post on 12-Jan-2016

31 views

Category:

Documents


0 download

DESCRIPTION

Instytut Informatyki, Automatyki i Robotyki. Load balancing. Uproszczony schemat struktury równoważącej obciążenia serwerowe. Techniki realizowane w warstwie 4. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Load balancing

Load balancing

Instytut Informatyki, Automatyki i Robotyki

Page 2: Load balancing

22

Uproszczony schemat struktury równoważącej obciążenia serwerowe

Page 3: Load balancing

33

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

Page 4: Load balancing

44

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.

Page 5: Load balancing

55

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.

Page 6: Load balancing

66

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.

Page 7: Load balancing

77

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.

Page 8: Load balancing

88

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).

Page 9: Load balancing

99

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

Page 10: Load balancing

1010

Równoważnie obciążenia z translacją adresów sieciowych

Page 11: Load balancing

1111

Równoważnie obciążenia z bezpośrednią odpowiedzią serwera

Page 12: Load balancing

1212

Równoważnie obciążenia wykorzystujące protokoły tunelowania

Page 13: Load balancing

1313

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

Page 14: Load balancing

1414

Techniki realizowane w warstwie 7.

Page 15: Load balancing

1515

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.

Page 16: Load balancing

1616

Metody wyboru serwera aplikacyjnego

• Stan podtrzymania. Rozwiązanie to realizowane jest przy pomocy ciasteczek (ang. cookies).

Page 17: Load balancing

1717

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

Page 18: Load balancing

1818

Łączenie rozwiązań