Skift til global
- 3 minutter
I det forrige undermodul har vi beskrevet skalering af beregning og gjort den mere tilgængelig i processen. Vi foreslog også at tilføje Azure Managed Redis for at forbedre ydeevnen og skalere Azure SQL-databaser ud via sharding.
Det næste trin, i takt med at din virksomhed vokser, kan være at gå globalt. Der er dog nogle ting, du skal tænke på, før du forsøger at implementere en fuldt global arkitektur.
Spørgsmål, der skal stilles
Det første spørgsmål er: Har du virkelig brug for at gå globalt?
Det er vigtigt at forstå, hvilken smerte vores kunder har, før de påtager sig en sådan opgave, så spørg dig selv et par flere spørgsmål:
- Kan du få indhold tættere på dine brugere via et netværk til levering af indhold?
- Har du virkelig brug for at skalere dette system på tværs af to (eller flere) geografiske områder? For eksempel, skal en bruger i USA have præcis den samme konto i Storbritannien? Ville uafhængige systemer være mere egnede? Dette mønster er almindeligt i e-handel.
- Hvis du virkelig har brug for et globalt distribueret system, hvilken konsekvens har du så brug for til databasen? Stærk konsistens på tværs af kloden er svær at opnå rigtigt. Tjenester som Cosmos DB understøtter stærk konsistens i multi-region-konfigurationer, men det indebærer betydelige kompromiser, herunder højere latenstid, reduceret tilgængelighed under regionale nedbrud og øget RU-forbrug pr. operation.
Datakonsistens
Lad os se lidt nærmere på spørgsmålet om datakonsistens.
I distribueret databehandling refererer konsistens til, hvor up-to-dateret og ensartet dataene er på tværs af alle replikaer af et system. Der findes to primære konsistensmodeller.
Stærk konsistens giver en garanti for linearizability. Læsningerne garanterer, at de returnerer den seneste bekræftede version af et element.
Og så er der eventuel konsekvens, tanken om, at en database eller et system til sidst vil blive konsekvent over tid. Der er ingen ordregaranti for læsninger. Hvis der ikke skrives yderligere, konvergerer replikaerne til sidst.
Tjenester som Cosmos DB tilbyder også mellemliggende konsistensmodeller, såsom begrænset forældhed, session og konsistent præfiks, som giver forskellige balancer mellem ydeevne og datafriskhed.
Værktøjer til global brug
Hvis du finder ud af, at du virkelig har brug for at skalere din applikation globalt, findes der nogle Azure-tjenester, der kan hjælpe dig med det. Lad os se nærmere på Azure Traffic Manager og Azure Front Door:
- Azure Traffic Manager er en global DNS-baseret load-balanceringstjeneste. Den bruger DNS- og tilstandstest til at dirigere dine brugere til den bedste sunde back end baseret på de routingpolitikker, du har defineret. Denne routing kan baseres på ydeevne, placering, round robin og så videre. Når en sund back end er identificeret, opretter klienter altid direkte forbindelse til back end.
- Azure Front Door er en moderne cloud CDN- og global load balancer, der tilbyder forskellige lag 7 load-balancing-funktioner til dine applikationer. Det giver DSA (dynamic site acceleration) sammen med global belastningsjustering med failover i næsten realtid. Det er en meget tilgængelig og skalerbar service, fuldt administreret af Azure.
Azure Front Door er grundlæggende en global HTTP-baseret load balancer. Klienten etablerer en forbindelse til selve hoveddøren, så Front Door er proxy for brugernes anmodning. Hvis det ønskede element ikke findes i cachen, identificeres den korrekte distributionsregel. Derefter tjekker den sundhedsprobe for den relevante backend, og forudsat at alt er sundt, videresender brugerens anmodning til den bedste backend baseret på routingmetoden.
Fordi Azure Front Door proxier forbindelsen, kan du udføre nogle avancerede funktioner som at køre en Firewall for webprogram og caching, hvilket er nyttigt for skalering. Ingen af disse funktioner kan opnås med Traffic Manager.
Diagrammet viser, hvordan du kan bruge begge dele sammen.
Denne konfiguration bruger Traffic Manager til simpel DNS-baseret belastningsjustering til dine statiske aktiver på lagerkonti. Den bruger også Front Door til stibaseret routing på dit webprogram på tværs af App Service og VM'er.
Tjek din viden
Feedback
Var denne side nyttig?
No
Har du brug for hjælp til dette emne?
Vil du prøve at bruge Ask Learn til at tydeliggøre eller guide dig gennem dette emne?