Front Door routningsmetoder
Azure Front Door har stöd för olika typer av trafikroutningsmetoder för att avgöra hur HTTP/HTTPS-trafiken ska dirigeras till olika tjänstslutpunkter. När dina klientbegäranden når Front Door tillämpas den konfigurerade routningsmetoden för att säkerställa att begärandena vidarebefordras till den bästa serverinstansen.
Det finns fyra tillgängliga trafikroutningsmetoder i Front Door:
- Svarstid: Den svarstidsbaserade routningen säkerställer att begäranden skickas till de serverar med kortast svarstid som är godtagbara inom ett känslighetsintervall. I princip skickas dina användarbegäranden till den "närmaste" uppsättningen med backends när det gäller nätverksfördröjning.
- Prioritet: Du kan tilldela prioriteter till dina backends när du vill konfigurera en primär backend för att sera all trafik. Den sekundära backend-datorn kan vara en säkerhetskopia om den primära backend-datorn blir otillgänglig.
- Viktad: Du kan tilldela vikter till dina backends när du vill distribuera trafik över en uppsättning backends jämnt eller enligt viktkoefficienterna. Trafiken distribueras enligt vikter om svarstiderna för backends ligger inom det godkända svarstidsintervallet i backend-poolen.
- Sessionstillhörighet: Du kan konfigurera sessionstillhörighet för dina klientvärdar eller domäner för att säkerställa att begäranden från samma slutanvändare skickas till samma server.
I alla Front Door-konfigurationer ingår övervakning av hälsotillståndet på serverdelen och automatiserad omedelbar global redundans. Mer information finns i Front Door för backend-övervakning. Din Front Door fungerar baserat på en enda routningsmetod. Men beroende på dina programbehov kan du även kombinera flera routningsmetoder för att skapa en optimal routningstopologi.
Lägsta svarstidsbaserade trafikroutning
Att distribuera serverdelar på två eller flera platser över hela världen kan förbättra svarstiderna för dina program genom att dirigera trafik till det mål som är "närmast" till dina slutanvändare. Standardmetoden för trafikroutning för din Front Door-konfiguration vidarebefordrar begäranden från dina slutanvändare till närmaste server Front Door-miljön som tog emot begäran. I kombination med Anycast-arkitekturen i Azure Front Door ser den här metoden till att alla dina slutanvändare får maximala prestanda anpassade baserat på deras plats.
Den "närmaste" backend är inte nödvändigtvis närmast enligt geografiskt avstånd. I stället Front Door de närmaste backendarna genom att mäta nätverksfördröjningen. Läs mer Front Door om routningsarkitekturen.
Nedan visas det övergripande beslutsflödet:
| Tillgängliga backends | Prioritet | Svarstidssignal (baserat på hälsoavsökning) | Vikter |
|---|---|---|---|
| Markera först alla backends som är aktiverade och returnerade felfria (200 OK) för hälsoavsökningen. Om det finns sex backends A, B, C, D, E och F, och bland dem C är inte fel och E är inaktiverad. Listan över tillgängliga backends är A, B, D och F. | Därefter väljs de backends med högsta prioritet bland de tillgängliga. Om backend A, B och D har prioritet 1 och backend F har en prioritet på 2. Sedan blir de valda backends A, B och D. | Välj de backends med svarstidsintervall (minsta svarstid & svarstidskänsligheten i ms har angetts). Om backend A är 15 ms, B är 30 ms och D är 60 ms från Front Door-miljön där begäran landade och svarstidens känslighet är 30 ms, består den lägsta svarstidspoolen av backend A och B, eftersom D ligger över 30 ms från den närmaste backend som är A. | Slutligen Front Door resursallokering av trafiken mellan den slutliga valda poolen med backends i förhållandet mellan vikterna som anges. Om backend A har en vikt på 5 och backend B har en vikt på 8 så distribueras trafiken i förhållandet 5:8 mellan backends A och B. |
Anteckning
Som standard är känslighetsegenskapen för svarstid inställd på 0 ms, det vill säga att begäran alltid vidarebefordras till den snabbaste tillgängliga backend och vikterna på backends börjar inte gälla såvida inte två backends har samma nätverksfördröjning.
Prioritetsbaserad trafikroutning
En organisation vill ofta tillhandahålla hög tillgänglighet för sina tjänster genom att distribuera fler än en säkerhetskopieringstjänst om den primära tjänsten skulle gå sönder. I hela branschen kallas den här topologin även för aktiv/vänteläge eller aktiv/passiv distributionstopologi. Med trafikroutningsmetoden "Priority" kan Azure-kunder enkelt implementera det här redundansmönstret.
Standardvärdet Front Door innehåller en lista med samma prioritet för backends. Som standard Front Door endast trafik till de backends med högsta prioritet (det lägsta värdet för prioritet), det vill säga den primära uppsättningen med backends. Om de primära Front Door inte är tillgängliga dirigerar Front Door till den sekundära uppsättningen med backends (det näst lägsta värdet för prioritet). Om både den primära och den sekundära backends inte är tillgängliga går trafiken till den tredje och så vidare. Tillgängligheten för backend baseras på den konfigurerade statusen (aktiverad eller inaktiverad) och den pågående statusen för backend-hälsotillståndet som bestäms av hälsoavsökningarna.
Konfigurera prioritet för server del
Varje serverdelar i serverpoolen för Front Door-konfigurationen har en egenskap som heter "Priority", som kan vara ett tal mellan 1 och 5. Med Azure Front Door kan du uttryckligen konfigurera backend-prioriteten med hjälp av den här egenskapen för varje backend. Den här egenskapen är ett värde mellan 1 och 5. Lägre värden representerar en högre prioritet. Backends kan dela prioritetsvärden.
Viktad trafikroutningsmetod
Med trafikroutningsmetoden Viktad kan du fördela trafiken jämnt eller använda en fördefinierad viktning.
I routningsmetoden Viktad trafik tilldelar du en vikt till varje server i Front Door konfigurationen för serverpoolen. Vikten är ett heltal mellan 1 och 1 000. Den här parametern använder standardvikten "50".
Med listan över tillgängliga backends som har en acceptabel svarstidskänslighet distribueras trafiken med en resursallokeringsmekanism med hjälp av förhållandet mellan vikterna som anges. Om svarstidens känslighet anges till 0 millisekunder, gäller inte den här egenskapen såvida det inte finns två backends med samma nätverksfördröjning.
Den viktade metoden möjliggör några användbara scenarier:
- Gradvis programuppgradering: Ger en procentandel av trafiken som ska dirigeras till en ny backend och ökar trafiken gradvis med tiden för att få den på samma nivå som andra backends.
- Programmigrering till Azure: Skapa en backend-pool med både Azure och externa backends. Justera vikten för backends för att föredra de nya backends. Du kan gradvis konfigurera detta från och med att de nya backend-delarna inaktiveras och sedan tilldela dem de lägsta vikterna, vilket långsamt ökar den till nivåer där de tar mest trafik. Slutligen inaktiverar du de mindre önskade backends och tar bort dem från poolen.
- Moln bursting för ytterligare kapacitet: Utöka snabbt en lokal distribution till molnet genom att placera den bakom Front Door. När du behöver extra kapacitet i molnet kan du lägga till eller aktivera fler backends och ange vilken del av trafiken som går till varje backend.
Sessionstillhörighet
Utan sessionstillhörighet vidarebefordrar Front Door från samma klient till olika backend-klienter som standard. Vissa tillståndsful-program eller i vissa scenarier som utfärdar begäranden från samma användare föredrar samma backend som bearbetade den inledande begäran. Cookie-baserad sessionstillhörighet är användbart om du vill behålla en användarsession på samma serverdel. Med hjälp av hanterade cookies Azure Front Door kan dirigera efterföljande trafik från en användarsession till samma backend för bearbetning.
Sessionstillhörighet kan aktiveras på nivån för klientdelsvärden, dvs. för var och en av dina konfigurerade domäner (eller underdomäner). När funktionen har aktiverats lägger Front Door till en cookie till användarens session. Med cookie-baserad sessionstillhörighet kan Front Door identifiera olika användare även bakom samma IP-adress, vilket i sin tur möjliggör en mer jämn fördelning av trafik mellan dina olika serverdelar.
Livslängden för cookien är samma som användarens session eftersom Front Door för närvarande endast stöder sessions-cookies.
Anteckning
Offentliga proxys kan störa sessionstillhörigheten. Det beror på att upprättandet av en session kräver Front Door för att lägga till en cookie för sessionstillhörighet i svaret, vilket inte kan göras om svaret kan cachelagras eftersom det skulle störa cookies för andra klienter som begär samma resurs. För att skydda mot detta upprättas inte sessionstillhörighet om backend skickar ett cachebart svar när detta görs. Om sessionen redan har upprättats spelar det ingen roll om svaret från backend kan cachelagras. Sessionstillhörighet upprättas under följande omständigheter, såvida inte svaret har statuskoden HTTP 304:
- Svaret har specifika värden för rubriken som
Cache-Controlförhindrar cachelagring, till exempel "privat" eller "no-store". - Svaret innehåller ett
Authorization-huvud som inte har upphört att gälla. - Svaret har statuskoden HTTP 302.
Nästa steg
- Läs hur du skapar en Front Door.
- Läs hur Front Door fungerar.