Redigera

Dela via


Alternativ för belastningsutjämning

Azure Load Balancer
Azure Front Door
Azure Application Gateway
Azure Traffic Manager

Termen belastningsutjämning avser fördelningen av arbetsbelastningar mellan flera beräkningsresurser. Belastningsutjämning syftar till att optimera resursanvändningen, maximera dataflödet, minimera svarstiden och undvika överlagring av en enskild resurs. Det kan också förbättra tillgängligheten genom att dela en arbetsbelastning mellan redundanta databehandlingsresurser.

Azure tillhandahåller olika belastningsutjämningstjänster som du kan använda för att distribuera dina arbetsbelastningar över flera beräkningsresurser. Dessa resurser omfattar Azure Application Gateway, Azure Front Door, Azure Load Balancer och Azure Traffic Manager.

Den här artikeln beskriver några överväganden för att fastställa en lämplig belastningsutjämningslösning för din arbetsbelastnings behov.

Tjänstkategoriseringar

Azures belastningsutjämningstjänster kan kategoriseras efter två dimensioner: globala jämfört med regionala och HTTP(S) jämfört med icke-HTTP(S).

Globalt jämfört med regionalt

  • Global: Dessa belastningsutjämningstjänster distribuerar trafik över regionala serverdelar, moln eller lokala hybridtjänster. Dessa tjänster stöder hantering av ett enda kontrollplan som ansvarar för att globalt dirigera slutanvändartrafik till en tillgänglig serverdel. De reagerar ofta på ändringar i tjänstens tillförlitlighet eller prestanda för att maximera tillgänglighet och prestanda. Du kan se dem som system som belastningsutjämning mellan programstämplar, slutpunkter eller skalningsenheter som finns i olika regioner/geografiska områden.
  • Regional: Dessa belastningsutjämningstjänster distribuerar trafik i virtuella nätverk mellan virtuella datorer (VM) eller zon- och zonredundanta tjänstslutpunkter inom en region. Du kan se dem som system som belastningsutjämning mellan virtuella datorer, containrar eller kluster i en region i ett virtuellt nätverk.

HTTP(S) jämfört med icke-HTTP(S)

  • HTTP(S): Dessa belastningsutjämningstjänster är Layer 7-lastbalanserare som endast accepterar HTTP(S)-trafik. De är avsedda för webbprogram eller andra HTTP-slutpunkter. De kan ha funktioner som SSL-avlastning, brandvägg för webbprogram, sökvägsbaserad belastningsutjämning och sessionstillhörighet.
  • Icke-HTTP(S): Dessa belastningsutjämningstjänster är Layer 4-lastbalanserare som kan hantera trafik som inte är HTTP(S), främst TCP- eller UDP-tjänster.

I följande tabell sammanfattas Azures belastningsutjämningstjänster.

Tjänst Global/regional Rekommenderad trafik
Azure Front Door Global HTTP(S)
Azure Traffic Manager Global Icke-HTTP(S)
Azure Application Gateway Regional HTTP(S)
Azure Load Balancer Regional eller global Icke-HTTP(S)

Kommentar

Azure Traffic Manager och Azure Load Balancer har funktioner för att distribuera HTTP(S)-trafik, men har inga specifika funktioner för att dirigera baserat på protokolldataenhetsinformation som är högre än Layer 4. Båda har stöd för HTTP(S)-trafik, men endast på nivå 4-funktionalitetsnivåer.

Azures belastningsutjämningstjänster

Här är de viktigaste belastningsutjämningstjänsterna som för närvarande är tillgängliga i Azure:

  • Azure Front Door är ett nätverk för programleverans som tillhandahåller global belastningsutjämning och tjänst för webbplatsacceleration för webbprogram. Den erbjuder Layer 7-funktioner för ditt program som SSL-avlastning, sökvägsbaserad routning, snabb redundans och cachelagring för att förbättra prestanda och hög tillgänglighet för dina program.

  • Traffic Manager är en DNS-baserad lastbalanserare som gör att du kan distribuera trafik optimalt till tjänster i globala Azure-regioner, samtidigt som du ger hög tillgänglighet och svarstider. Eftersom Traffic Manager är en DNS-baserad belastningsutjämningstjänst lastbalanseras den endast på domännivå. Därför kan den inte redundansväxla lika snabbt som Azure Front Door på grund av vanliga utmaningar kring DNS-cachelagring och system som inte uppfyller DNS-TTL:er.

  • Application Gateway tillhandahåller programleveranskontrollant som en tjänst som erbjuder olika layer 7-belastningsutjämningsfunktioner och brandväggsfunktioner för webbprogram. Använd den för att övergå från offentligt nätverksutrymme till dina webbservrar som finns i ett privat nätverksutrymme i en region.

  • Load Balancer är en högpresterande layer 4-tjänst med ultralåg svarstid (inkommande och utgående) för alla UDP- och TCP-protokoll. Den är byggd för att hantera miljontals begäranden per sekund samtidigt som du ser till att din lösning är mycket tillgänglig. Load Balancer är zonredundant, vilket säkerställer hög tillgänglighet mellan tillgänglighetszoner. Den stöder både en regional distributionstopologi och en topologi mellan regioner.

Kommentar

Klustringsteknik, till exempel Azure Container Apps eller Azure Kubernetes Service, innehåller belastningsutjämningskonstruktioner som främst fungerar inom ramen för sin egen klustergräns och dirigerar trafik till tillgängliga programinstanser baserat på beredskaps- och hälsoavsökningar. Dessa alternativ för belastningsutjämning beskrivs inte i den här artikeln.

Beslutsträd för belastningsutjämning i Azure

Tänk på dessa faktorer som dessa när du väljer en belastningsutjämningslösning:

  • Trafiktyp: Är det ett HTTP(S)-webbprogram? Är det offentligt eller ett privat program?
  • Globalt jämfört med regionalt: Behöver du belastningsutjämna virtuella datorer eller containrar i ett enda virtuellt nätverk, eller belastningsutjämna skalningsenhet/distributioner mellan regioner, eller både och?
  • Tillgänglighet: Vad är serviceavtalet?
  • Kostnad: Mer information finns i Priser för Azure. Förutom tjänstens kostnad bör du ta hänsyn till åtgärdernas kostnad för hantering av en lösning baserad på tjänsten.
  • Funktioner och gränser: Vilka funktioner stöds för varje tjänst och vilka är tjänstgränserna för varje tjänst?

! [TIPS] Azure-portalen erbjuder en enkätbaserad guide som liknar följande flödesschema. I Azure-portalen söker du efter "Belastningsutjämning – hjälp mig att välja". Genom att besvara frågorna kan du begränsa alternativen för belastningsutjämning.

Följande flödesschema hjälper dig att välja en belastningsutjämningslösning för ditt program. Flödesschemat vägleder dig genom en uppsättning viktiga beslutskriterier för att nå en rekommendation.

Behandla det här flödesschemat som en startpunkt. Varje program har unika krav, så använd rekommendationen som utgångspunkt. Utför sedan en mer detaljerad utvärdering.

När din arbetsbelastning omfattar flera tjänster som kräver belastningsutjämning är det viktigt att utvärdera varje tjänst individuellt. I många fall använder en effektiv konfiguration mer än en typ av belastningsutjämningslösning. Du kan införliva dessa lösningar på olika platser i arbetsbelastningens arkitektur, där var och en har en unik funktion eller roll.

Diagram som visar ett beslutsträd för belastningsutjämning i Azure.

Definitioner

  • Webbprogram (HTTP/HTTPS): Detta innebär att du behöver funktionen för att fatta ett routningsbeslut för Layer 7-data, till exempel URL-sökväg, stödja inspektion av kommunikationsnyttolasten (till exempel en HTTP-begärandetext) eller hantera TLS-funktioner.

  • Internetuppkopplad app: Program som är offentligt tillgängliga från Internet. Som bästa praxis tillämpar programägare restriktiva åtkomstprinciper eller skyddar programmet genom att konfigurera erbjudanden som brandvägg för webbprogram och DDoS-skydd.

  • Global/distribuerad i flera regioner: Om den här lastbalanseraren ska ha ett enda kontrollplan med hög tillgänglighet som ansvarar för att dirigera trafik till offentliga slutpunkter i ditt globalt distribuerade program. Detta kan vara att stödja antingen aktiva eller aktiva-passiva topologier i olika regioner.

    Kommentar

    Det är möjligt att använda en regional tjänst, till exempel Application Gateway, för att belastningsutjämna över serverdelar som sträcker sig över flera regioner och styra routning via ett enda kontrollplan. Den arkitekturen möjliggörs med private link mellan regioner, global peering för virtuella nätverk eller till och med offentliga IP-adresser för tjänster i andra regioner.

    Det här scenariot är dock inte den primära punkten i det här beslutet.

    Att använda en regional resurs som router för globalt distribuerade serverdelar introducerar en regional enskild felpunkt och medför ytterligare svarstid när trafiken tvingas genom en region innan den går till en annan och sedan tillbaka igen.

  • Plattform som en tjänst (PaaS): Tillhandahåller en hanterad värdmiljö där du kan distribuera ditt program utan att behöva hantera virtuella datorer eller nätverksresurser. I det här fallet refererar PaaS till tjänster som tillhandahåller integrerad belastningsutjämning i en region. Mer information finns i Välj en beräkningstjänst – skalbarhet.

  • Azure Kubernetes Service (AKS): Gör att du kan distribuera och hantera containerbaserade program. AKS tillhandahåller serverlösa Kubernetes, en integrerad kontinuerlig integrering och kontinuerlig leveransupplevelse samt säkerhet och styrning i företagsklass. Mer information om AKS-arkitekturresurser finns i Arkitekturdesign för Azure Kubernetes Service.

  • Infrastruktur som en tjänst (IaaS): Ett beräkningsalternativ där du etablerar de virtuella datorer som du behöver, tillsammans med associerade nätverks- och lagringskomponenter. IaaS-program kräver intern belastningsutjämning i ett virtuellt nätverk med hjälp av Load Balancer.

  • Bearbetning på programnivå: Refererar till särskild routning i ett virtuellt nätverk. Till exempel sökvägsbaserad routning i det virtuella nätverket mellan virtuella datorer eller vm-skalningsuppsättningar. Mer information finns i När ska vi distribuera en Application Gateway bakom Azure Front Door?.

  • Prestandaacceleration: Refererar till funktioner som påskyndar webbåtkomsten. Prestandaacceleration kan uppnås med hjälp av innehållsleveransnätverk (CDN) eller optimerad ingress för accelererad klientregistrering i målnätverket. Azure Front Door stöder både CDN- och Anycast-trafikacceleration. Fördelarna med båda funktionerna kan uppnås med eller utan Application Gateway i arkitekturen.

Ytterligare överväganden

Varje belastningsutjämningstjänst har också kapacitetsstöd eller implementeringsinformation som också behöver beaktas. Här följer några exempel som kan vara relevanta för ditt belastningsutjämningsscenario.

  • Stöd för Web Sockets
  • HTTP/2-stöd (både ta emot och fortsätta till serverdelsnoder)
  • Stöd för sticky-sessioner
  • Övervakningsmekanism för serverdelsnodens hälsotillstånd
  • Klientupplevelse eller fördröjning mellan nodidentifiering med feltillstånd och borttagning från routningslogik.

Exempel

I följande tabell visas olika artiklar baserat på de belastningsutjämningstjänster som används som en lösning.

Tjänster Artikel beskrivning
Load Balancer Belastningsutjämning av virtuella datorer (VM) mellan tillgänglighetszoner Belastningsutjämna virtuella datorer i tillgänglighetszoner för att skydda dina appar och data från ett osannolikt fel eller förlust av ett helt datacenter. Med zonredundans kan en eller flera tillgänglighetszoner misslyckas och datasökvägen överlever så länge en zon i regionen förblir felfri.
Azure Front Door Delningsplats i realtid med hjälp av serverlösa Azure-tjänster utan kostnad Använd Azure Front Door för att ge dina program högre tillgänglighet än att distribuera till en enda region. Om ett regionalt avbrott påverkar den primära regionen kan du använda Azure Front Door för att redundansväxla till den sekundära regionen.
Traffic Manager Webbprogram med flera nivåer som skapats för hög tillgänglighet och haveriberedskap Distribuera elastiska program med flera nivåer som skapats för hög tillgänglighet och haveriberedskap. Om den primära regionen blir otillgänglig redundansväxlar Traffic Manager över till den sekundära regionen.
Azure Front Door + Application Gateway SaaS för flera klientorganisationer i Azure Använd en lösning för flera klientorganisationer som innehåller en kombination av Azure Front Door och Application Gateway. Azure Front Door hjälper till att belastningsutjämning trafik mellan regioner. Application Gateway dirigerar och belastningsutjämningar trafik internt i programmet till de olika tjänster som uppfyller klientföretagens behov.
Traffic Manager + Load Balancer Flerregionsprogram på N-nivå Ett N-nivåprogram med flera regioner som använder Traffic Manager för att dirigera inkommande begäranden till en primär region. Om den regionen blir otillgänglig, redundansväxlar Traffic Manager till den sekundära regionen.
Traffic Manager + Application Gateway Belastningsutjämning för flera regioner med Traffic Manager och Application Gateway Lär dig hur du hanterar webbarbetsbelastningar och distribuerar motståndskraftiga program i flera Azure-regioner för att uppnå hög tillgänglighet och en robust infrastruktur för haveriberedskap.

Nästa steg