Termin równoważenia obciążenia odnosi się do dystrybucji obciążeń w wielu zasobach obliczeniowych. Równoważenie obciążenia ma na celu optymalizację użycia zasobów, zmaksymalizowanie przepływności, zminimalizowanie czasu odpowiedzi i uniknięcie przeciążenia dowolnego pojedynczego zasobu. Może również zwiększyć dostępność, współdzieląc obciążenie między nadmiarowymi zasobami obliczeniowymi.
Platforma Azure udostępnia różne usługi równoważenia obciążenia, których można użyć do dystrybucji obciążeń między wiele zasobów obliczeniowych. Te zasoby obejmują aplikacja systemu Azure Gateway, Azure Front Door, Azure Load Balancer i Azure Traffic Manager.
W tym artykule opisano niektóre zagadnienia dotyczące określania odpowiedniego rozwiązania do równoważenia obciążenia pod kątem potrzeb obciążenia.
Kategoryzacja usług
Usługi równoważenia obciążenia platformy Azure można podzielić na dwa wymiary: globalne w porównaniu z regionami i HTTP(S) a nie http(S).
Globalny a regionalny
- Globalne: Te usługi równoważenia obciążenia dystrybuują ruch między regionalnymi zapleczami, chmurami lub hybrydowymi usługami lokalnymi. Te usługi obsługują zarządzanie pojedynczą płaszczyzną sterowania odpowiedzialną za globalny routing ruchu użytkowników końcowych do dostępnego zaplecza. Często reagują na zmiany w niezawodności usługi lub wydajności, aby zmaksymalizować dostępność i wydajność. Można je traktować jako systemy, które równoważą obciążenie między sygnaturami aplikacji, punktami końcowymi lub jednostkami skalowania hostowanymi w różnych regionach/lokalizacjach geograficznych.
- Regionalne: te usługi równoważenia obciążenia dystrybuują ruch w sieciach wirtualnych między maszynami wirtualnymi lub strefowo nadmiarowymi punktami końcowymi usługi w regionie. Można traktować je jako systemy, które równoważą obciążenie między maszynami wirtualnymi, kontenerami lub klastrami w regionie w sieci wirtualnej.
HTTP(S) a nie HTTP(S)
- HTTP(S): Te usługi równoważenia obciążenia to moduły równoważenia obciążenia warstwy 7 , które akceptują tylko ruch HTTP(S). Są one przeznaczone dla aplikacji internetowych lub innych punktów końcowych HTTP(S). Mogą one mieć funkcje, takie jak odciążanie protokołu SSL, zapora aplikacji internetowej, równoważenie obciążenia oparte na ścieżkach i koligacja sesji.
- usług innych niż HTTP: te usługi równoważenia obciążenia są warstwy 4 tcp lub UDP albo równoważenia obciążenia opartego na systemie DNS.
Poniższa tabela zawiera podsumowanie usług równoważenia obciążenia platformy Azure.
Usługa | Globalny/regionalny | Zalecany ruch |
---|---|---|
Azure Front Door | Globalnie | HTTP(S) |
Azure Traffic Manager | Globalnie | Inne niż HTTP |
Usługa Azure Application Gateway | Regionalne | HTTP(S) |
Azure Load Balancer | Regionalny lub globalny | Inne niż HTTP |
Uwaga
Usługi Azure Traffic Manager i Azure Load Balancer mają możliwości dystrybucji dowolnego ruchu, w tym http(S). Jednak te usługi nie mają możliwości warstwy 7. W przeciwieństwie do usługi Azure Load Balancer usługa Azure Traffic Manager nie obsługuje ruchu bezpośrednio; Usługa Traffic Manager manipuluje systemem DNS, aby skierować klientów do odpowiednich punktów końcowych.
Usługi równoważenia obciążenia platformy Azure
Poniżej przedstawiono główne usługi równoważenia obciążenia obecnie dostępne na platformie Azure:
Azure Front Door to sieć dostarczania aplikacji, która zapewnia globalne równoważenie obciążenia i usługę przyspieszania witryn dla aplikacji internetowych. Oferuje ona funkcje warstwy 7 dla aplikacji, takie jak odciążanie protokołu SSL, routing oparty na ścieżkach, szybkie przechodzenie w tryb failover i buforowanie w celu zwiększenia wydajności i wysokiej dostępności aplikacji.
Traffic Manager to oparty na systemie DNS moduł równoważenia obciążenia ruchu, który umożliwia optymalną dystrybucję ruchu do usług w globalnych regionach platformy Azure, zapewniając jednocześnie wysoką dostępność i czas odpowiedzi. Ponieważ usługa Traffic Manager jest usługą równoważenia obciążenia opartą na systemie DNS, równoważy obciążenie tylko na poziomie domeny. Z tego powodu nie można przejść w tryb failover tak szybko, jak usługa Azure Front Door, ze względu na typowe wyzwania związane z buforowaniem DNS i systemami, które nie honoruje list TTLs DNS.
Usługa Application Gateway udostępnia kontroler dostarczania aplikacji jako usługę, oferując różne funkcje równoważenia obciążenia warstwy 7 i zaporę aplikacji internetowej. Umożliwia przejście z przestrzeni publicznej do serwerów sieci web hostowanych w prywatnej przestrzeni sieciowej w regionie.
Moduł równoważenia obciążenia to usługa równoważenia obciążenia w warstwie 4 o wysokiej wydajności (ruch przychodzący i wychodzący) o wysokiej wydajności dla wszystkich protokołów UDP i TCP. Jest ona tworzona tak, aby obsługiwała miliony żądań na sekundę przy jednoczesnym zapewnieniu wysokiej dostępności rozwiązania. Usługa Load Balancer jest strefowo nadmiarowa, zapewniając wysoką dostępność w różnych strefach dostępności. Obsługuje zarówno topologię wdrożenia regionalnego, jak i topologię między regionami.
Uwaga
Technologia klastrowania, taka jak Azure Container Apps lub Azure Kubernetes Service, zawiera konstrukcje równoważenia obciążenia, które działają głównie w zakresie własnej granicy klastra, routing ruchu do dostępnych wystąpień aplikacji na podstawie gotowości i sond kondycji. Te opcje równoważenia obciążenia nie zostały omówione w tym artykule.
Drzewo decyzyjne dotyczące równoważenia obciążenia na platformie Azure
Podczas wybierania rozwiązania do równoważenia obciążenia należy wziąć pod uwagę następujące czynniki:
- Typ ruchu: czy jest to internetowa aplikacja HTTP? Czy jest to aplikacja publiczna, czy prywatna?
- Globalne a regionalne: Czy musisz równoważyć obciążenie maszyn wirtualnych lub kontenerów w ramach jednej sieci wirtualnej, albo równoważyć obciążenia jednostki skalowania/wdrożeń w różnych regionach lub obu tych regionach?
- Dostępność: Jaka jest umowa dotycząca poziomu usług?
- Koszt: aby uzyskać więcej informacji, zobacz Cennik platformy Azure. Oprócz kosztów samej usługi weź pod uwagę koszty operacji związanych z zarządzaniem rozwiązaniem opartym na tej usłudze.
- Funkcje i limity: Jakie możliwości są obsługiwane w każdej usłudze i jakie są limity usługi dla każdej usługi?
! [PORADA] Witryna Azure Portal oferuje przewodnik oparty na kwestionariuszu podobny do poniższego schematu blokowego. W witrynie Azure Portal wyszukaj frazę "Równoważenie obciążenia — pomóż mi wybrać". Odpowiadając na pytania, możesz zawęzić opcje równoważenia obciążenia.
Poniższy schemat blokowy ułatwia wybranie rozwiązania do równoważenia obciążenia dla aplikacji. Schemat blokowy przeprowadzi Cię przez zestaw kluczowych kryteriów podejmowania decyzji w celu uzyskania rekomendacji.
Traktuj ten schemat blokowy jako punkt wyjścia. Każda aplikacja ma unikatowe wymagania, więc użyj rekomendacji jako punktu wyjścia. Następnie wykonaj bardziej szczegółową ocenę.
Jeśli obciążenie obejmuje kilka usług, które wymagają równoważenia obciążenia, ważne jest, aby ocenić każdą usługę indywidualnie. W wielu przypadkach efektywna konfiguracja używa więcej niż jednego typu rozwiązania do równoważenia obciążenia. Te rozwiązania można uwzględnić w różnych miejscach w architekturze obciążenia, z których każda obsługuje unikatową funkcję lub rolę.
Definicje
Aplikacja internetowa (HTTP/HTTPS): oznacza to konieczność podjęcia decyzji o routingu dla danych warstwy 7, takich jak ścieżka adresu URL, obsługa inspekcji ładunku komunikacji (np. treści żądania HTTP) lub obsługi funkcji protokołu TLS.
Aplikacja dostępna z Internetu: aplikacje, które są publicznie dostępne z Internetu. Najlepszym rozwiązaniem jest stosowanie restrykcyjnych zasad dostępu lub ochrona aplikacji przez skonfigurowanie ofert, takich jak zapora aplikacji internetowej i ochrona przed atakami DDoS.
Globalny/wdrożony w wielu regionach: jeśli ten moduł równoważenia obciążenia powinien mieć jedną, wysoce dostępną płaszczyznę sterowania, która jest odpowiedzialna za kierowanie ruchu do publicznych punktów końcowych w globalnie rozproszonej aplikacji. Może to być obsługa topologii aktywne-aktywne lub aktywne-pasywne w różnych regionach.
Uwaga
Za pomocą usługi regionalnej, takiej jak Application Gateway, można równoważyć obciążenie między zapleczami obejmującymi wiele regionów i kontrolować routing za pośrednictwem jednej płaszczyzny sterowania. Ta architektura jest możliwa przy użyciu usługi Private Link między regionami, globalnej komunikacji równorzędnej sieci wirtualnych, a nawet publicznych adresów IP usług w innych regionach.
Ten scenariusz nie jest jednak podstawowym punktem tej decyzji.
Użycie zasobu regionalnego jako routera dla globalnie rozproszonych zapleczy wprowadza regionalny pojedynczy punkt awarii i powoduje dodatkowe opóźnienie, ponieważ ruch jest wymuszany przez jeden region przed przejściem do innego, a następnie z powrotem.
Platforma jako usługa (PaaS): zapewnia zarządzane środowisko hostingu, w którym można wdrożyć aplikację bez konieczności zarządzania maszynami wirtualnymi lub zasobami sieciowymi. W tym przypadku usługa PaaS odnosi się do usług zapewniających zintegrowane równoważenie obciążenia w regionie. Aby uzyskać więcej informacji, zobacz Wybieranie usługi obliczeniowej — skalowalność.
Azure Kubernetes Service (AKS): umożliwia wdrażanie aplikacji konteneryzowanych i zarządzanie nimi. Usługa AKS zapewnia bezserwerową platformę Kubernetes, zintegrowane środowisko ciągłej integracji i ciągłego dostarczania oraz zabezpieczenia i ład klasy korporacyjnej. Aby uzyskać więcej informacji na temat zasobów architektury usługi AKS, zobacz Projekt architektury usługi Azure Kubernetes Service.
Infrastruktura jako usługa (IaaS) : opcja obliczeniowa, w której aprowizujesz potrzebne maszyny wirtualne wraz ze skojarzonymi składnikami sieci i magazynu. Aplikacje IaaS wymagają wewnętrznego równoważenia obciążenia w sieci wirtualnej przy użyciu usługi Load Balancer.
Przetwarzanie warstwy aplikacji: odnosi się do specjalnego routingu w sieci wirtualnej. Na przykład routing oparty na ścieżkach w sieci wirtualnej między maszynami wirtualnymi lub zestawami skalowania maszyn wirtualnych. Aby uzyskać więcej informacji, zobacz Kiedy należy wdrożyć usługę Application Gateway za usługą Azure Front Door?.
Przyspieszanie wydajności: odnosi się do funkcji przyspieszających dostęp do internetu. Przyspieszenie wydajności można osiągnąć za pomocą sieci dostarczania zawartości (CDN) lub zoptymalizowanego punktu wejścia obecności na potrzeby przyspieszonego dołączania klienta do sieci docelowej. Usługa Azure Front Door obsługuje zarówno sieci CDN, jak i przyspieszanie ruchu anycast. Zalety obu funkcji można uzyskać w architekturze lub bez usługi Application Gateway.
Uwagi dodatkowe
Każda usługa równoważenia obciążenia ma również obsługę możliwości lub szczegóły implementacji, które należy również rozważyć. Oto kilka przykładów, które mogą być istotne dla scenariusza równoważenia obciążenia.
- Obsługa gniazd internetowych
- Obsługa protokołu HTTP/2 (zarówno odbieranie, jak i kontynuowanie węzłów zaplecza)
- Obsługa sesji sticky
- Mechanizm monitorowania kondycji węzła zaplecza
- Środowisko klienta lub opóźnienie między wykrywaniem węzła w złej kondycji i usuwaniem z logiki routingu.
Przykłady
W poniższej tabeli wymieniono różne artykuły oparte na usługach równoważenia obciążenia używanych jako rozwiązanie.
Usługi | Artykuł | opis |
---|---|---|
Load Balancer | Równoważenie obciążenia maszyn wirtualnych w różnych strefach dostępności | Równoważenie obciążenia maszyn wirtualnych w różnych strefach dostępności w celu ochrony aplikacji i danych przed mało prawdopodobną awarią lub utratą całego centrum danych. W przypadku nadmiarowości strefy co najmniej jedna strefa dostępności może zakończyć się niepowodzeniem, a ścieżka danych przetrwa tak długo, jak jedna strefa w regionie pozostaje w dobrej kondycji. |
Traffic Manager | Wielowarstwowa aplikacja internetowa utworzona na potrzeby wysokiej dostępności i odzyskiwania po awarii | Wdrażanie odpornych aplikacji wielowarstwowych utworzonych pod kątem wysokiej dostępności i odzyskiwania po awarii. Jeśli region podstawowy stanie się niedostępny, usługa Traffic Manager ulegnie awarii w regionie pomocniczym. |
Azure Front Door + Application Gateway | Wielodostępna usługa SaaS na platformie Azure | Użyj wielodostępnego rozwiązania, które obejmuje kombinację usług Azure Front Door i Application Gateway. Usługa Azure Front Door ułatwia równoważenie obciążenia ruchu między regionami. Usługa Application Gateway kieruje i równoważy ruch wewnętrznie w aplikacji do różnych usług, które spełniają potrzeby biznesowe klienta. |
Traffic Manager + Application Gateway | Równoważenie obciążenia w wielu regionach za pomocą usług Traffic Manager i Application Gateway | Dowiedz się, jak obsługiwać obciążenia internetowe i wdrażać odporne aplikacje wielowarstwowe w wielu regionach świadczenia usługi Azure, aby uzyskać wysoką dostępność i niezawodną infrastrukturę odzyskiwania po awarii. |
Następne kroki
- Tworzenie publicznego modułu równoważenia obciążenia w celu równoważenia obciążenia maszyn wirtualnych
- Bezpośredni ruch internetowy za pomocą usługi Application Gateway
- Konfigurowanie usługi Traffic Manager na potrzeby globalnego równoważenia obciążenia opartego na systemie DNS
- Konfigurowanie usługi Azure Front Door dla globalnej aplikacji internetowej o wysokiej dostępności