Metody routingu ruchu do źródła

Ważne

Usługa Azure Front Door (klasyczna) zostanie wycofana 31 marca 2027 r. Aby uniknąć zakłóceń w działaniu usługi, należy przeprowadzić migrację profilów usługi Azure Front Door (wersja klasyczna) do warstwy Azure Front Door Standard lub Premium do marca 2027 r. Aby uzyskać więcej informacji, zobacz Wycofywanie usługi Azure Front Door (wersja klasyczna).

Usługa Azure Front Door obsługuje cztery różne metody routingu ruchu w celu określenia sposobu dystrybucji ruchu HTTP/HTTPS między różnymi źródłami. Gdy żądania użytkowników docierają do lokalizacji brzegowych usługi Front Door, skonfigurowana metoda routingu jest stosowana w celu zapewnienia, że żądania są przekazywane do najlepszego zasobu zaplecza.

Uwaga

Źródło i grupa pochodzenia w tym artykule odnoszą się do puli zaplecza i zaplecza konfiguracji usługi Azure Front Door (klasycznej).

Cztery metody routingu ruchu to:

  • Opóźnienie: Routing oparty na opóźnieniach gwarantuje, że żądania są wysyłane do najniższych źródeł opóźnień akceptowalnych w zakresie poufności. Innymi słowy żądania są wysyłane do najbliższego zestawu źródeł w odniesieniu do opóźnienia sieci.

  • Priorytet: priorytet można ustawić na źródła, gdy chcesz skonfigurować źródło podstawowe do obsługi całego ruchu. Pomocniczym źródłem może być kopia zapasowa, jeśli źródło podstawowe stanie się niedostępne.

  • Ważone: ważona wartość może być przypisana do źródeł, gdy chcesz dystrybuować ruch między zestaw źródeł równomiernie lub zgodnie z współczynnikami wagi. Ruch jest dystrybuowany według wartości wagi, jeśli opóźnienia źródeł znajdują się w dopuszczalnym zakresie poufności opóźnień w grupie pochodzenia.

  • Koligacja sesji: można skonfigurować koligację sesji dla hostów lub domen frontonu, aby zapewnić wysyłanie żądań od tego samego użytkownika końcowego do tego samego źródła.

Uwaga

Nazwa punktu końcowego w warstwie Standardowa i Premium usługi Azure Front Door jest nazywana hostem frontonu w usłudze Azure Front Door (wersja klasyczna).

Wszystkie konfiguracje usługi Front Door mają monitorowanie kondycji zaplecza i automatyczne natychmiastowe globalne przejście w tryb failover. Aby uzyskać więcej informacji, zobacz Monitorowanie zaplecza usługi Front Door. Usługi Azure Front Door można używać z jedną metodą routingu. W zależności od potrzeb aplikacji można połączyć wiele metod routingu, aby utworzyć optymalną topologię routingu.

Uwaga

Jeśli używasz aparatu reguł usługi Front Door, możesz skonfigurować regułę, aby zastąpić konfiguracje tras w warstwie Standardowa i Premium usługi Azure Front Door lub zastąpić pulę zaplecza w usłudze Azure Front Door (wersja klasyczna) dla żądania. Grupa pochodzenia lub pula zaplecza ustawiona przez aparat reguł zastępuje proces routingu opisany w tym artykule.

Ogólny przepływ decyzji

Na poniższym diagramie przedstawiono ogólny przepływ decyzji:

Diagram przedstawiający sposób wybierania źródeł na podstawie ustawień priorytetu, opóźnienia i wagi w usłudze Azure Front Door.

Kroki decyzyjne to:

  1. Dostępne źródła: wybierz wszystkie źródła, które są włączone i zwrócone w dobrej kondycji (200 OK) dla sondy kondycji.
    • Przykład: Załóżmy, że istnieje sześć źródeł A, B, C, D, E i F, a wśród nich C jest w złej kondycji, a E jest wyłączona. Lista dostępnych źródeł to A, B, D i F.
  2. Priorytet: wybrane są źródła o najwyższym priorytcie spośród dostępnych źródeł.
    • Przykład: Załóżmy, że źródło A, B i D mają priorytet 1, a źródło F ma priorytet 2. Następnie wybrane źródła to A, B i D.
  3. Sygnał opóźnienia (na podstawie sondy kondycji): wybierz źródła w zakresie dozwolonych opóźnień w środowisku usługi Front Door, w którym dotarło żądanie. Ten sygnał jest oparty na ustawieniu poufności opóźnień w grupie pochodzenia i opóźnieniu bliżej źródeł.
    • Przykład: Załóżmy, że usługa Front Door zmierzyła opóźnienie ze środowiska, w którym żądanie dotarło do źródła A o 15 ms, podczas gdy opóźnienie dla usługi B wynosi 30 ms, a D wynosi 60 ms. Jeśli czułość opóźnienia grupy pochodzenia jest ustawiona na 30 ms, najniższa pula opóźnień składa się z źródeł A i B, ponieważ D jest spoza 30 ms od najbliższego źródła, które jest A.
  4. Wagi: Na koniec usługa Azure Front Door zaokrągla ruch między ostatnią wybraną grupą źródeł w stosunku określonych wag.
    • Przykład: Jeśli źródło A ma wagę 3, a źródło B ma wagę 7, ruch jest dystrybuowany 3/10 do źródeł A i 7/10 do źródła B.

Jeśli koligacja sesji jest włączona, pierwsze żądanie w sesji jest zgodne z przepływem wymienionym wcześniej. Kolejne żądania są wysyłane do źródła wybranego w pierwszym żądaniu.

Najniższe opóźnienia oparte na routingu ruchu

Wdrażanie źródeł w co najmniej dwóch lokalizacjach na całym świecie może poprawić czas reakcji aplikacji, rozsyłając ruch do miejsca docelowego znajdującego się "najbliżej" użytkowników końcowych. Opóźnienie to domyślna metoda routingu ruchu w przypadku konfiguracji usługi Front Door. Ta metoda routingu przekazuje żądania od użytkowników końcowych do najbliższego źródła usługi Azure Front Door. Ten mechanizm routingu w połączeniu z architekturą emisji dowolnej usługi Azure Front Door zapewnia, że każdy z użytkowników końcowych uzyska najlepszą wydajność na podstawie ich lokalizacji.

Źródło "najbliższe" nie musi być najbliżej mierzone według odległości geograficznej. Zamiast tego usługa Azure Front Door określa najbliższe źródło, mierząc opóźnienie sieci. Przeczytaj więcej na temat architektury routingu usługi Azure Front Door.

Każde środowisko usługi Front Door mierzy opóźnienie źródła oddzielnie. Oznacza to, że różni użytkownicy w różnych lokalizacjach są kierowani do źródła z najlepszą wydajnością dla tego środowiska.

Uwaga

Domyślnie właściwość poufności opóźnienia jest ustawiona na 0 ms. To ustawienie powoduje, że żądanie jest zawsze przekazywane do najszybszych dostępnych źródeł i wag źródła, chyba że dwa źródła mają takie samo opóźnienie sieci.

Routing oparty na priorytecie

Często organizacja chce zapewnić wysoką dostępność swoich usług, wdrażając więcej niż jedną usługę tworzenia kopii zapasowych w przypadku awarii podstawowej. W całej branży ten typ topologii jest również określany jako wdrożenie aktywne/wstrzymanie lub aktywne/pasywne. Metoda priorytetowego routingu ruchu umożliwia łatwe zaimplementowanie tego wzorca trybu failover.

Domyślna usługa Azure Front Door zawiera listę źródeł o równym priorytcie. Domyślnie usługa Azure Front Door wysyła ruch tylko do źródeł o najwyższym priorytcie (najniższa wartość priorytetu) jako podstawowy zestaw źródeł. Jeśli źródła podstawowe nie są dostępne, usługa Azure Front Door kieruje ruch do pomocniczego zestawu źródeł (druga najniższa wartość priorytetu). Jeśli zarówno podstawowe, jak i pomocnicze źródła nie są dostępne, ruch przechodzi do trzeciej i tak dalej. Dostępność źródła zależy od skonfigurowanego stanu i bieżącego stanu kondycji źródła określonego przez sondy kondycji.

Konfigurowanie priorytetu dla źródeł

Każde źródło w grupie pochodzenia konfiguracji usługi Azure Front Door ma właściwość o nazwie Priorytet, która może być liczbą z zakresu od 1 do 5. Usługa Azure Front Door umożliwia jawne skonfigurowanie priorytetu źródła przy użyciu tej właściwości dla każdego źródła. Ta właściwość jest wartością z zakresu od 1 do 5. Im niższa wartość, tym wyższy priorytet. Źródła mogą współdzielić te same wartości priorytetów.

Ważona metoda routingu ruchu

Metoda ważonego routingu ruchu umożliwia równomierne rozłożenie ruchu lub użycie wstępnie zdefiniowanej wagi.

W metodzie ważonego routingu ruchu przypisujesz wagę do każdego źródła w konfiguracji usługi Azure Front Door grupy pochodzenia. Waga jest liczbą całkowitą z zakresu od 1 do 1000. Ten parametr używa domyślnej wagi 50.

Dzięki liście dostępnych źródeł, które mają akceptowalną czułość opóźnienia, ruch jest dystrybuowany za pomocą mechanizmu działania okrężnego przy użyciu określonego współczynnika wag. Jeśli czułość opóźnienia zostanie ustawiona na 0 milisekund, ta właściwość nie zostanie włączona, chyba że istnieją dwa źródła z tym samym opóźnieniem sieci.

Metoda ważona umożliwia zastosowanie kilku przydatnych scenariuszy:

  • Stopniowe uaktualnianie aplikacji: zapewnia procent ruchu, który ma być kierowany do nowego źródła, i stopniowo zwiększa ruch w czasie, aby zapewnić mu równoważność z innymi źródłami.
  • Migracja aplikacji na platformę Azure: utwórz grupę pochodzenia z platformą Azure i źródłami zewnętrznymi. Dostosuj wagę źródeł, aby preferować nowe źródła. Można to skonfigurować stopniowo, zaczynając od wyłączenia nowych źródeł, a następnie przypisując im najniższe wagi, powoli zwiększając je do poziomów, gdzie zajmują większość ruchu. Następnie wyłącz mniej preferowane źródła i usuń je z grupy.
  • Zwiększanie wydajności w chmurze dla dodatkowej pojemności: szybkie rozszerzanie wdrożenia lokalnego do chmury przez umieszczenie go za usługą Front Door. Jeśli potrzebujesz dodatkowej pojemności w chmurze, możesz dodać lub włączyć więcej źródeł i określić, która część ruchu przechodzi do każdego źródła.

Koligacja sesji

Domyślnie bez koligacji sesji usługa Azure Front Door przekazuje żądania pochodzące z tego samego klienta do różnych źródeł. Niektóre aplikacje stanowe lub w niektórych scenariuszach, gdy żądania pochodzące od tego samego użytkownika preferują to samo źródło, aby przetworzyć początkowe żądanie. Funkcja koligacji sesji opartej na plikach cookie jest przydatna, gdy chcesz zachować sesję użytkownika w tym samym pochodzeniu. W przypadku używania zarządzanych plików cookie z algorytmem SHA256 adresu URL źródła jako identyfikatora w pliku cookie usługa Azure Front Door może kierować ruch z sesji użytkownika do tego samego źródła do przetwarzania.

Koligację sesji można włączyć na poziomie grupy pochodzenia w warstwie Azure Front Door Standard i Premium oraz na poziomie hosta frontonu w usłudze Azure Front Door (wersja klasyczna) dla każdej ze skonfigurowanych domen (lub domen podrzędnych). Po włączeniu usługa Azure Front Door dodaje plik cookie do sesji użytkownika. Pliki cookie są nazywane ASLBSA i ASLBSACORS. Koligacja sesji oparta na plikach cookie umożliwia usłudze Front Door identyfikowanie różnych użytkowników, nawet jeśli znajduje się za tym samym adresem IP, co z kolei umożliwia bardziej równomierny rozkład ruchu między różnymi źródłami.

Czas życia pliku cookie jest taki sam jak sesji użytkownika, ponieważ usługa Front Door aktualnie obsługuje tylko pliki cookie sesji.

Uwaga

Niezależnie od tego, gdzie jest skonfigurowany, koligacja sesji jest zapamiętywane za pośrednictwem pliku cookie sesji przeglądarki na poziomie domeny. Poddomeny w tej samej domenie wieloznacznych mogą współużytkować koligację sesji, tak długo, jak ta sama przeglądarka użytkownika wysyła żądania dla tego samego zasobu źródła.

Publiczne serwery proxy mogą zakłócać koligację sesji. Jest to spowodowane tym, że ustanowienie sesji wymaga, aby usługa Front Door dodała plik cookie koligacji sesji do odpowiedzi, którego nie można wykonać, jeśli odpowiedź jest buforowalna, ponieważ spowoduje to zakłócenia plików cookie innych klientów żądających tego samego zasobu. Aby chronić się przed tym, koligacja sesji nie zostanie ustanowiona, jeśli źródło wysyła odpowiedź z możliwością buforowania podczas próby. Jeśli sesja została już ustanowiona, nie ma znaczenia, czy odpowiedź z źródła jest zapisywana w pamięci podręcznej.

Koligacja sesji zostanie ustanowiona w następujących okolicznościach poza standardowymi scenariuszami niezwiązanymi z pamięcią podręczną:

  • Odpowiedź musi zawierać Cache-Control nagłówek no-store.
  • Jeśli odpowiedź zawiera Authorization nagłówek, nie może być wygasła.
  • Odpowiedź to kod stanu HTTP 302.

Następne kroki