Webbprogram i två regioner med Table Storage redundans

Front Door
App Service
Functions
Table Storage
Cache for Redis

Lösningsidé

Om du vill att vi utökar den här artikeln med mer information, till exempel potentiella användningsfall, alternativa tjänster, implementeringsöverväganden eller prisvägledning, kan du berätta för oss GitHub Feedback!

Den här arkitekturen ger en lösning med hög tillgänglighet för ett webbprogram som använder enorma mängder data. En sekundär region fungerar som vänteläge mot den primära, vilket förbättrar tillgängligheten. Den primära regionen skickar sina data till den sekundära med hjälp av de inbyggda replikeringsfunktionerna i Azure Storage.

Data lagras i Azure Table Storage tabeller. Precis som Azure Storage tjänst replikeras tabelldata Storage synkront tre gånger i den primära regionen. För att göra den tillgänglig för vänteläge replikeras den också asynkront tre gånger i den sekundära regionen. Information om hur Azure Storage replikering finns i Azure Storage redundans.

Arkitekturen innehåller ett cacheminne för tabellerna för att minska åtkomstbelastningen och förbättra programsvaret.

Anteckning

Ditt program kan kräva flera lagringskonton under vissa omständigheter. Mer information finns i Överväganden.

Potentiella användningsfall

Arkitekturen kan vara lämplig för alla program som använder enorma mängder data som alltid måste vara tillgängliga. Exempel är appar som:

  • Spåra kundernas utgiftsvanor och shoppingbeteende.
  • Prognostiserade väderleksprognoser.
  • Erbjuda smarta trafiksystem eller implementera smarta trafiksystem eller använd smart teknik för att övervaka trafiken.
  • Analysera IoT Sakernas Internet data (manufacturing Sakernas Internet).
  • Visa smarta mätardata eller använd smart teknik för att övervaka mätardata.

Arkitektur

Arkitektur för ett motståndskraftigt system som kan redundans redundans till en reservregion.

Ladda ned en Visio-fil med den här arkitekturen.

  1. Klienten autentiseras med Azure Active Directory (Azure AD) och beviljas åtkomst till webbprogram som finns på Azure App Service.
  2. Azure Front Door, en brandvägg och layer 7-lastbalanserare, växlar användartrafik till väntelägesregionen vid ett regionalt avbrott.
  3. Azure App Service är värd för webbplatser och RESTful-webb-API:er. Webbläsarklienter kör AJAX-program som använder API:erna.
  4. Webb-API:er delegerar funktionsappar för att hantera bakgrundsaktiviteter. Aktiviteterna köas i Azure Queue Storage köer.
  5. Funktionsapparna som Azure Functions utför bakgrundsaktiviteterna som utlöses av köade meddelanden.
  6. Azure Cache for Redis cachelagrar tabelldata för funktionsapparna. Detta avlastar databasaktiviteten och påskyndar funktionsapparna och webbapparna.
  7. Azure Table Storage innehåller de data som används av webbprogrammen.
  8. Tabell Storage stöder synkron replikering av data mellan tillgänglighetszoner i regionen för att minimera avbrott i datacenter. Den använder också asynkron replikering för att replikera data i olika Azure-regioner för att åtgärda regionala avbrott och förbättra programmets tillgänglighet.

Komponenter

  • Azure Active Directory (Azure AD) är en identitets- och åtkomsthanteringstjänst för flera innehavare som kan synkroniseras med en lokal katalog.
  • Azure DNS är en värdtjänst med hög tillgänglighet för DNS-domäner som tillhandahåller appar med snabba DNS-frågor och snabba uppdateringar av DNS-poster. Att Azure DNS är som att hantera andra Azure-tjänster och använder samma autentiseringsuppgifter, API:er, verktyg och fakturering.
  • Azure Front Door är ett säkert nätverk för innehållsleverans (CDN) och lastbalanserare med omedelbar redundans. Den fungerar vid gränsen nära användarna, vilket påskyndar innehållsleveransen samtidigt som appar, API:er och webbplatser skyddas mot cyberhot.
  • Azure App Service är en helt hanterad tjänst för att skapa, distribuera och skala webbappar. Du kan skapa appar med hjälp av .NET, .NET Core, Node.js, Java, Python eller PHP. Appar kan köras i containrar eller på Windows eller Linux. I en stordatormigrering kan frontend-skärmarna eller webbgränssnittet kodas som HTTP-baserade REST-API:er. De kan separeras och kan vara tillståndslösa för att orkestrera ett mikrotjänstbaserat system. Mer information om webb-API:er finns i RESTful web API design.
  • Azure Functions en miljö för att köra små delar av kod, som kallas funktioner, utan att behöva upprätta en programinfrastruktur. Du kan använda den för att bearbeta massdata, integrera system, arbeta med IoT och skapa enkla API:er och mikrotjänster. Med mikrotjänster kan du skapa servrar som ansluter till Azure-tjänster och alltid är uppdaterade.
  • Azure Storage är en uppsättning mycket skalbara och säkra molntjänster för data, appar och arbetsbelastningar. Den innehåller Azure Files,Azure Table Storageoch Azure Queue Storage. Azure Files är ofta ett effektivt verktyg för att migrera stordatorarbetsbelastningar.
  • Azure Queue Storage tillhandahåller enkel, kostnadseffektiv och beständig meddelandekö för stora arbetsbelastningar.
  • Azure Table Storage är ett nyckelvärdeslager i NoSQL för snabb utveckling som använder enorma halvstrukturerade datauppsättningar. Tabellerna är schemalösa och anpassas enkelt när behoven ändras. Åtkomsten är snabb och kostnadseffektiv för många typer av program och kostar vanligtvis mindre än andra typer av nyckellagring.
  • Azure Cache for Redis är en fullständigt hanterad cachelagringstjänst i minnet och autjämning av meddelanden för delning av data och tillstånd mellan beräkningsresurser. Den innehåller både Redis med öppen källkod och en kommersiell produkt från Redis Labs som hanterade tjänster. Du kan förbättra prestandan för program för bearbetning av transaktioner med högt dataflöde online genom att utforma dem för skalning och för att använda ett minnesinspel, till exempel Azure Cache for Redis.

Alternativ

  • Azure Traffic Manager dirigerar inkommande DNS-begäranden i de globala Azure-regionerna baserat på ditt val av trafikroutningsmetoder. Den tillhandahåller också automatisk redundans och prestandadirigering.
  • Azure Content Delivery Network cachelagrar statiskt innehåll på gränsservrar för snabba svar och använder nätverksoptimeringar för att snabba upp svar för dynamiskt innehåll. Content Delivery Network är särskilt användbart när användarbasen är global.
  • Azure Kubernetes Service (AKS) är en fullständigt hanterad Kubernetes-tjänst för distribution och hantering av program i containrar. Du kan använda den för att implementera en arkitektur för mikrotjänster vars komponenter skalas oberoende på begäran.
  • Azure Container Instances ett snabbt och enkelt sätt att köra uppgifter utan att behöva hantera infrastrukturen. Det är användbart under utveckling eller för att köra oplanerade uppgifter.
  • Azure Service Fabric är en plattform för skalning och orkestrering av containrar och mikrotjänster.
  • Azure Service Bus är en tillförlitlig meddelandetjänst i molnet för enkel hybridintegrering. Det kan användas i stället för Queue Storage i den här arkitekturen. Mer information finns i Storage köer och Service Bus köer – jämförd och kontrasterad.

Överväganden

  • Det finns prestandabegränsningar för table-Storage som kan lösas genom att lägga till Storage-konton. Följande omständigheter kan kräva ytterligare konton:

    • Implementera flera innehavare för att stödja flera kunder
    • För att stödja kunder med högre transaktionspriser
    • För att stödja kunder med stora datamängder
    • För att påskynda dataåtkomsten genom att distribuera data över flera lagringskonton
    • Så här åtser du data till nivåerna hot, cold och archive
    • Göra kopior av data i säkerhetskopierings- och rapporteringssyfte

    Mer information finns i Skalbarhets- och prestandamål för Table Storage.

  • Tabell Storage replikering är inte tillgängligt i vissa Azure-regioner.

  • Data i en sekundär region har slutlig konsekvens, vilket innebär att det finns en fördröjning mellan den tidpunkt då en uppdatering sker i en primär region och när den visas i den sekundära regionen. Eftersom replikeringen från den primära regionen till den sekundära regionen är asynkron kan data gå förlorade om den primära regionen misslyckas och inte återställs. Det finns för närvarande inget serviceavtal (SLA) om hur lång tid det tar att replikera data till den sekundära regionen. Läs mer i Redundansalternativ för Azure Storage.

Nästa steg