Im więcej wskazówek ma detektyw, tym łatwiej będzie mu rozwiązać sprawę. Dokładnie tak działa system równoważenia obciążenia. Im więcej informacji posiada system równoważenia obciążenia, tym lepiej działa. Na tym blogu opowiem o module równoważenia obciążenia aplikacji i sposobie dystrybucji ruchu przychodzącego poprzez uzyskanie większego dostępu do nagłówków pakietów oraz szczegółów HTTPS i HTTPS.
Omówione tematy:
- Co to jest moduł równoważenia obciążenia aplikacji?
- Działanie modułu równoważenia obciążenia aplikacji
- Funkcje, które czynią go lepszym niż klasyczny system równoważenia obciążenia
- Demo: utwórz moduł równoważenia obciążenia aplikacji i pokaż, jak działa
Co to jest moduł równoważenia obciążenia aplikacji?
Jestem pewien, że słyszeliście o modelu OSI. Jest to architektura 7-warstwowa, w której każda warstwa wykonuje specjalne zadanie podczas przesyłania danych na całym świecie. Warstwy te obejmują - warstwę fizyczną, warstwę łącza danych, warstwę sieciową, warstwę transportową, warstwę sesji, warstwę prezentacji i warstwę aplikacji. Application Load Balancer działa na siódmej warstwie modelu OSI, jak sama nazwa wskazuje. Toma możliwość badania treści na poziomie aplikacji i kierowania ruchu na podstawie uzyskanych informacji. Zawartość na poziomie aplikacji obejmuje szczegóły pakietów oraz szczegóły HTTP i HTTPS. To sprawia, że wyznaczanie tras jest łatwiejsze, szybsze i znacznie bardziej wydajne. Jest to jeden z najczęściej używanych .
Działanie modułu równoważenia obciążenia aplikacji
Moduł równoważenia obciążenia aplikacji składa się z słuchacze i zasady . Kiedy klient wysyła żądanie, słuchacz potwierdza to. Reguły to wytyczne, które regulują routing każdego żądania klienta po usłyszeniu go przez słuchacza. Zasady składają się z trzech elementów - Grupa docelowa , Priorytet i Warunki . Grupy docelowe składają się z zarejestrowane cele (serwery, na które ma być kierowany ruch). Każda grupa docelowa kieruje żądania do jednego lub większej liczby zarejestrowanych celów, takich jak instancje EC2, przy użyciu protokołu i numeru portu określonego przez użytkownika. Zasadniczo, gdy słuchacz otrzyma żądanie, przechodzi przez kolejność priorytetów, aby określić, którą regułę zastosować, analizuje reguły i na podstawie warunku decyduje, która grupa docelowa otrzyma żądanie.
Zawsze możesz dodawać lub usuwać cele z systemu równoważenia obciążenia w razie potrzeby, bez zakłócania ogólnego przepływu żądań do aplikacji. ELB dynamicznie skaluje load balancer, tj. Gdy ruch w Twojej aplikacji zmienia się w czasie, dzięki czemu Twoja aplikacja jest przygotowana na różne sytuacje.
Funkcje, które czynią go lepszym niż klasyczny system równoważenia obciążenia
Routing oparty na treści: Moduł równoważenia obciążenia aplikacji musi uzyskiwać dostęp do nagłówków HTTP, a zatem kieruje na ich podstawie ruch.
Wsparcie dla aplikacji opartych na kontenerach: Dzięki potężnej koncepcji konteneryzacji większość użytkowników pakuje swoje mikrousługi do kontenerów i hostuje je na instancjach EC2. Dzięki temu pojedyncza instancja EC2 może uruchamiać wiele usług. Application Load Balancer obsługuje te aplikacje oparte na kontenerach. Jedna instancja może obsługiwać wiele kontenerów i nasłuchiwać na wielu portach, w tej samej grupie docelowej. Wykonuje również szczegółowe kontrole kondycji na poziomie portu.
Lepsze dane: Usługa równoważenia obciążenia aplikacji wykonuje kontrole kondycji dla poszczególnych portów, a także generuje raport. Kontrola stanu określa zakres akceptowanych odpowiedzi HTTP. Te kontrolom kondycji towarzyszą również szczegółowe kody błędów.
Routing oparty na ścieżkach: Usługa równoważenia obciążenia aplikacji obsługuje routing oparty na ścieżkach i hostach, co nie ma miejsca w przypadku klasycznego modułu równoważenia obciążenia. YMożesz kierować żądania do wielu domen za pomocą jednego modułu równoważenia obciążenia.
Zarejestruj adres IP i funkcje Lambda: Oprócz rejestracji instancji EC2 możesz również zarejestrować adresy IP i funkcje Lambda w swoim celu. I stądmożesz także zarejestrować cele, które znajdują się poza VPC.
Zapewnia dodatkowe protokoły i obciążenia:
Usługa równoważenia obciążenia aplikacji udostępnia dwa dodatkowe protokoły - HTTP / 2 i WebSocket
HTTPS / 2: Ten protokół obsługuje multipleksowane żądania w ramach jednego połączenia. Zmniejsza to ruch w sieci.
WebSocket: Protokół ten umożliwia ustanowienie długotrwałego połączenia TCP między klientem a serwerem. Ten protokół jest o wiele bardziej wydajny w porównaniu ze starszymi metodami.
Demo: utwórz moduł równoważenia obciążenia aplikacji i pokaż, jak działa
Zrozummy lepiej moduł równoważenia obciążenia aplikacji, tworząc go i używając go. W tym demo mam zamiar utworzyć dwie instancje EC2, wdrożyć serwer WWW Nginx na obu z różnymi danymi wyjściowymi HTML (łatwo je rozróżnić), stworzyć moduł równoważenia obciążenia aplikacji, zarejestrować te dwie instancje w tym module równoważenia obciążenia i sprawdzić jeśli do serwera WWW wdrożonego w instancjach można uzyskać dostęp z serwera DNS modułu równoważenia obciążenia. Zacznijmy.
Krok 1: i połącz swoje instancje z Putty lub cmder.
Krok 2: Zainstaluj serwer WWW Nginx w obu instancjach. Wykonaj następujące polecenia, aby zainstalować Nginx:
$ sudo apt-get update $ sudo apt install nginx $ sudo ufw Lista aplikacji $ sudo ufw zezwalaj na status „Nginx HTTP” $ sudo ufw
Skopiuj publiczny adres IP instancji i wklej go w przeglądarce jako adres URL, aby sprawdzić, czy Nginx został pomyślnie zainstalowany.
Krok 3 : Zmień dane wyjściowe HTML serwera sieciowego Nginx, aby uniknąć nieporozumień między wdrożeniami w obu instancjach.
$ cd / var / www / html $ sudo vi index.nginx-debian.html
Zmień zawartość tagu H1 na „Witamy w Nginx! - SERWER 1'. Zrób to samo w drugiej instancji, ale zmień ją na „Witamy w Nginx! - SERWER 2 ”.
Krok 4: Utwórz moduł równoważenia obciążenia aplikacji. W okienku nawigacji w obszarze RÓWNOWAŻENIE OBCIĄŻENIA wybierz Systemy równoważenia obciążenia i kliknij Stwórz w obszarze równoważenia obciążenia aplikacji.
Nastąpi przekierowanie do innej strony, Wybierz Utwórz moduł równoważenia obciążenia tam.
Skonfigurujmy moduł równoważenia obciążenia. W polu Nazwa wpisz nazwę, jaką ma mieć moduł równoważenia obciążenia. W opcji Schemat wybierz opcję Internetowa lub Wewnętrzna. W tym przypadku wybrałem połączenie internetowe. Połączenie internetowe zasadniczo kieruje żądania od klientów do celu przez Internet.
W przypadku detektorów domyślnym ustawieniem jest akceptowanie ruchu TCP na porcie 80 i nadal korzystam z tej samej domyślnej konfiguracji nasłuchiwania. Jeśli chcesz dodać kolejnego słuchacza, możesz wybrać Dodaj odbiorcę .
W obszarze Dostępność wybierz VPC, którego użyłeś do utworzenia instancji EC2. Wybierz strefę dostępności i podsieć dla tej strefy dostępności dla każdej strefy dostępności używanej do tworzenia instancji EC2.
W razie potrzeby dodajesz tagi do systemu równoważenia obciążenia. Tagi są szczególnie przydatne, gdy masz wiele modułów równoważenia obciążenia.
Kliknij Dalej: Skonfiguruj ustawienia zabezpieczeń . Możesz zobaczyć ostrzeżenie, ale możesz je zignorować.
W tym kroku możesz skonfigurować zabezpieczenia swojego systemu równoważenia obciążenia. Możesz też Utwórz nową grupę zabezpieczeń lub Wybierz istniejącą grupę zabezpieczeń . W tym przypadku wybrałem istniejącą grupę zabezpieczeń.
Po zakończeniu konfiguracji zabezpieczeń kliknij Dalej: Skonfiguruj routing . Wybierz Nowa grupa docelowa. Dodaj Nazwa chciałbyś dać swoje Grupa docelowa . Wybierz Typ celu jako instancja, ponieważ dołączamy instancje. Application load Balancer umożliwia także dołączanie adresów IP i Lambda Functions. Niech Protokół i Port być domyślnym.
Nic nie zmieniłem Badania zdrowia i Zaawansowane kontrole stanu zarówno. Domyślne ustawienia są dla nas wystarczająco dobre.
Kliknij Dalej: Zarejestruj cele aby dodać cele (w tym przypadku wystąpienia) do systemu równoważenia obciążenia.
Wybierz instancje, które chcesz dodać jako cele, a następnie kliknij Dodaj do rejestru.
Twoje cele (wystąpienia) zostały teraz zarejestrowane w module równoważenia obciążenia.
Kliknij Dalej: Przejrzyj . Przejrzyj swój system równoważenia obciążenia, a następnie kliknij Stwórz .
jak rzucić podwójną do int
Twój system równoważenia obciążenia został utworzony i możesz sprawdzić jego stan.
Yayyy !! Udało Ci się utworzyć moduł równoważenia obciążenia aplikacji. Teraz sprawdźmy, czy faktycznie działa.
Krok 5: Skopiuj nazwę DNS swojego systemu równoważenia obciążenia i wklej ją w przeglądarce jako adres URL. Powinieneś zobaczyć wynik pierwszego wystąpienia.
Teraz przejdź do innej przeglądarki i wklej tę samą nazwę DNS, powinieneś zobaczyć dane wyjściowe drugiej instancji.
A to pokazuje, że moduł równoważenia obciążenia równoważy obciążenie dwóch instancji na nim. Obciążenia w obu instancjach EC2 będą obsługiwane przez ten moduł równoważenia obciążenia. Innym sposobem przetestowania działania Load Balancera jest zamknięcie jednej instancji i sprawdzenie, czy jej wdrożenia są wdrożone w systemie DNS Load Balancer.
To prowadzi nas do końca tego bloga modułu równoważenia obciążenia aplikacji. Mam nadzieję, że zrozumieliście koncepcję tej niesamowitej usługi świadczonej przez Amazon. Więcej takich blogów znajdziesz na „ ”.
Jeśli chcesz dowiedzieć się więcej o Cloud Computing i zbudować karierę w Cloud Computing, sprawdź nasze który obejmuje szkolenie na żywo prowadzone przez instruktora i rzeczywiste doświadczenie projektowe. To szkolenie pomoże Ci dogłębnie zrozumieć Cloud Computing i pomoże Ci opanować ten temat.
Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy, a my skontaktujemy się z Tobą lub prześlemy pytanie na adres . W Społeczności Edureka mamy ponad 1,00 000 techników gotowych do pomocy.