Ga globaal
- 3 minuten
In de vorige eenheid hebben we het schalen van rekenkracht beschreven en deze meer beschikbaar maken in het proces. We hebben ook aangeraden een Azure Cache voor Redis toe te voegen om de prestaties te verbeteren en Azure SQL-databases uit te schalen via sharding.
De volgende stap, naarmate uw bedrijf groeit, is het misschien om wereldwijd te gaan. Er zijn echter enkele dingen waarover u moet nadenken voordat u een volledig wereldwijde architectuur probeert te implementeren.
Vragen om te stellen
De eerste vraag is: Moet je echt wereldwijd gaan?
Het is belangrijk om te begrijpen welke pijn onze klanten hebben voordat ze een dergelijke taak uitvoeren, dus stel uzelf nog een paar vragen:
- Kunt u inhoud dichter bij uw gebruikers krijgen via een netwerk voor contentlevering?
- Moet u dit specifieke systeem echt schalen in twee (of meer) geografische gebieden? Moet een gebruiker in de Verenigde Staten bijvoorbeeld precies hetzelfde account hebben in het Verenigd Koninkrijk? Zouden onafhankelijke systemen geschikter zijn? Dit patroon komt vaak voor in e-commerce.
- Welke consistentie hebt u nodig voor de database als u echt een wereldwijd gedistribueerd systeem nodig hebt? Sterke consistentie over de hele wereld is moeilijk te realiseren en is niet toegestaan in services zoals Cosmos DB; dit is letterlijk vanwege de snelheid van het licht.
Gegevensconsistentie
Laten we eens nader kijken naar het probleem van gegevensconsistentie.
Consistentie in databasesystemen verwijst naar de vereiste dat een bepaalde databasetransactie de betrokken gegevens alleen moet wijzigen op manieren die zijn toegestaan. Er worden twee consistentiemodellen gebruikt in gedistribueerde computing.
Sterke consistentie biedt een garantie voor lineariseerbaarheid. De leesbewerkingen retourneren gegarandeerd de meest recente vastgelegde versie van een item.
En dan is er uiteindelijk consistentie, het idee dat een database of systeem na verloop van tijd consistent zal worden. Er is geen volgordegarantie voor leesbewerkingen. Als er geen verdere schrijfbewerkingen meer zijn, komen de replica's uiteindelijk samen.
Hulpmiddelen voor globalisering
Als u merkt dat u uw toepassing echt wereldwijd moet schalen, zijn er enkele Azure-services waarmee u dat kunt bereiken. Laten we eens kijken naar Azure Traffic Manager en Azure Front Door:
- Azure Traffic Manager is een wereldwijde op DNS gebaseerde taakverdelingsservice. Het maakt gebruik van DNS en gezondheidsonderzoeken om uw gebruikers naar de best functionerende back-end te routeren op basis van het door u gedefinieerde routeringsbeleid. Deze definitie kan zijn gebaseerd op prestaties, locatie, round robin, enzovoort. Nadat een gezonde back-end is geïdentificeerd, maken clients altijd rechtstreeks verbinding met de back-end.
- Azure Front Door Service is een Application Delivery Network (ADN) als een service, met verschillende mogelijkheden voor taakverdeling op laag 7 voor uw toepassingen. Het biedt dynamische siteversnelling (DSA) samen met wereldwijde taakverdeling met bijna realtime failover. Het is een maximaal beschikbare en schaalbare service, volledig beheerd door Azure.
Azure Front Door is in feite een wereldwijde load balancer op basis van HTTP. De client brengt een verbinding tot stand met Front Door zelf, zodat Front Door de aanvraag van de gebruikers proxyt. Als het aangevraagde item zich niet in de cache bevindt, wordt de juiste routeringsregel geïdentificeerd. Vervolgens wordt de statustest van de relevante back-end gecontroleerd en ervan uitgaande dat alles in orde is, stuurt u de gebruikersaanvraag door naar de beste back-end op basis van de routeringsmethode.
Omdat Azure Front Door de verbinding proxy verleent, kunt u enkele geavanceerde functies uitvoeren, zoals het uitvoeren van een Web Application Firewall en caching, wat handig is voor opschaling. Geen van deze functies kan worden bereikt met Traffic Manager.
In het diagram ziet u hoe u beide samen kunt gebruiken.
Deze installatie maakt gebruik van Traffic Manager voor eenvoudige OP DNS gebaseerde taakverdeling voor uw statische assets in opslagaccounts. Het maakt ook gebruik van Front Door voor padgebaseerde routering op uw webtoepassing in App Service en VM's.