paint-brush
Dekodowanie prymitywów równoważenia obciążeniaprzez@fairday
39,939 odczyty
39,939 odczyty

Dekodowanie prymitywów równoważenia obciążenia

przez Aleksei4m2024/02/26
Read on Terminal Reader
Read this story w/o Javascript

Za długo; Czytać

Skalując system w celu dostosowania go do zwiększonego ruchu i użytkowników, możesz wybrać między skalowaniem pionowym, które zwiększa moc serwera, a skalowaniem poziomym, które obejmuje duplikowanie serwerów. Podczas gdy skalowanie pionowe jest prostsze, ma ograniczenia, takie jak ograniczenia sprzętowe. Skalowanie poziome z modułami równoważenia obciążenia oferuje elastyczność, ale wymaga zarządzania bezstanowością i wdrażania strategii. Zrozumienie modułów równoważenia obciążenia L4 i L7 jest niezbędne, przy czym L4 jest bezpieczniejszy i wydajniejszy, podczas gdy L7 oferuje inteligentne kierowanie kosztem wydajności. Wybór właściwego podejścia zależy od wymagań systemowych i równoważenia kwestii bezpieczeństwa i wydajności.

People Mentioned

Mention Thumbnail
featured image - Dekodowanie prymitywów równoważenia obciążenia
Aleksei HackerNoon profile picture
0-item


Zawsze, gdy Twój system się rozrasta, zwiększa się ruch, coraz więcej użytkowników korzysta z Twoich produktów, serwery zaczynają reagować wolniej, a przestoje pogarszają sytuację Twojego biznesu, zaczynasz myśleć o skalowaniu.


Istnieją dwie podstawowe strategie skalowania – pionowa i pozioma.


Skalowanie pionowe ma na celu zwiększenie mocy systemu, zazwyczaj poprzez dodanie do serwerów większej liczby procesorów i pamięci RAM.


Skalowanie poziome koncentruje się natomiast na duplikowaniu (lub klonowaniu) serwerów w puli zasobów.


Więcej na ten temat:


Skalowanie pionowe

Skalowanie pionowe jest najlepszą opcją dla systemu o niskim ruchu, ponieważ jest to najbardziej dostępne podejście do obsługi wzrostu bez wprowadzania dodatkowej złożoności. Nie musisz się martwić o wdrażanie strategii dla grupy zasobów, elastyczność puli zasobów, bezstanowość serwera, rozproszoną pamięć podręczną itd.


Jednakże skalowanie pionowe ma poważne wady

  1. Ograniczenie sprzętowe, ponieważ nie można dodawać zasobów w nieskończoność
  2. Brak funkcji failover i redundancji zwiększa ryzyko długotrwałego przestoju i utraty danych


Skalowanie poziome

Skalowanie poziome eliminuje te problemy poprzez klonowanie serwerów aplikacji i osadzanie komponentu, takiego jak moduł równoważenia obciążenia .


Moduł równoważenia obciążenia rozdziela ruch na serwerach, wykorzystując określone algorytmy, takie jak:


  1. Każdy z każdym
  2. Ważony każdy z każdym
  3. Podejścia oparte na haszu IP
  4. Metoda najmniejszego połączenia
  5. Metoda połączenia o najmniejszej wadze
  6. Metoda najmniejszej odpowiedzi i wiele innych.


Ma jednak kilka wad:


  1. Serwery muszą być bezstanowe
  2. Sesje muszą być przechowywane w scentralizowanym magazynie danych
  3. Bardziej skomplikowane wdrażanie strategii może być wymagane
  4. Moduł równoważenia obciążenia może stać się wąskim gardłem wydajności, jeśli jest nieprawidłowo skonfigurowany i zasoby są niewystarczające
  5. Wprowadza dodatkową złożoność do systemu i stanowi potencjalny pojedynczy punkt awarii, co wymaga zastosowania strategii przełączania awaryjnego


Moduły równoważenia obciążenia L4/L7

Aby dwa urządzenia w Internecie mogły się ze sobą komunikować, systemy bazowe muszą przestrzegać określonych protokołów. Każdy słyszał o modelu OSI, który opisuje siedem warstw, których systemy komputerowe używają do komunikacji w sieci. Chociaż współczesny Internet opiera się na prostszym modelu stosu protokołów TCP/IP, model OSI jest szeroko stosowany, ponieważ pomaga wizualizować i komunikować, jak działają sieci, a także pomaga izolować i rozwiązywać problemy sieciowe.


Większość rozwiązań równoważenia obciążenia w branży posługuje się terminami L4 i L7, gdzie L4 odnosi się do warstwy transportowej w modelu OSI, a L7 do warstwy aplikacji.


Moduł równoważenia obciążenia L4 jest nadal modułem L2/L3, ponieważ używa danych z dolnych warstw, takich jak adres IP i numer portu.


Główne zalety modułu równoważenia obciążenia L4

  • Rozwiązanie to jest bezpieczniejsze i wydajniejsze, ponieważ przy podejmowaniu decyzji o routingu nie jest uwzględniana zawartość danych

  • To samo połączenie TCP obowiązuje pomiędzy klientem a serwerem, co pomaga zapobiegać przekroczeniu limitu dostępnych połączeń TCP na module równoważenia obciążenia


Główne wady modułu równoważenia obciążenia L4

  • Inteligentne kierowanie jest niemożliwe, ponieważ zawartość nie jest odszyfrowywana
  • Protokół stanowy wprowadza dodatkową złożoność
  • Mapowanie pomiędzy adresami publicznymi i prywatnymi
  • Brak buforowania, ponieważ zawartość jest niedostępna na tym poziomie
  • Nie można używać w architekturze mikrousług, ponieważ przekierowanie ruchu nie jest dostępne na podstawie ścieżki URL


Z drugiej strony moduł równoważenia obciążenia L7 działa na poziomie aplikacji w modelu OSI


Główne zalety modułu równoważenia obciążenia L7

  • Można podejmować mądre decyzje na podstawie ścieżki URL, nagłówków i treści

  • Buforowanie


Główne wady modułu równoważenia obciążenia L7

  • Dodatkowe obciążenie wynikające z utrzymywania dwóch połączeń TCP, jednego między klientem a modułem równoważenia obciążenia, drugiego między modułem równoważenia obciążenia a serwerem. Należy również wziąć pod uwagę limit połączenia TCP modułu równoważenia obciążenia
  • Mniej bezpieczne, ponieważ moduł równoważenia obciążenia musi znać certyfikaty, aby móc odszyfrować dane i podejmować decyzje dotyczące routingu


Wniosek

Load balancer jest kluczowym elementem, gdy skalowanie poziome jest stosowane do obsługi systemów o dużym ruchu. Istnieją dwa główne typy load balancerów L4 i L7.


  1. Moduł równoważenia obciążenia L4 jest znacznie bezpieczniejszy i wydajniejszy ze względu na ograniczenia związane z podejmowaniem inteligentnych decyzji

  2. Moduł równoważenia obciążenia L7 działa w sposób umożliwiający inteligentne podejmowanie decyzji dotyczących routingu ze względu na koszty wydajności i bezpieczeństwa


Wybór odpowiedniego typu zależy od wymagań systemowych i należy go starannie rozważyć, zachowując równowagę między stosowaniem zasad bezpieczeństwa a eliminowaniem wąskich gardeł wydajnościowych.


Opublikowano również tutaj.