![Search icon](https://hackernoon.imgix.net/search-new.png?w=19&h=19)
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 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
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:
Ma jednak kilka wad:
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.
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
Z drugiej strony moduł równoważenia obciążenia L7 działa na poziomie aplikacji w modelu OSI
Można podejmować mądre decyzje na podstawie ścieżki URL, nagłówków i treści
Buforowanie
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.
Moduł równoważenia obciążenia L4 jest znacznie bezpieczniejszy i wydajniejszy ze względu na ograniczenia związane z podejmowaniem inteligentnych decyzji
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.