Bearbetning av batchtransaktioner med stora volymer

Azure Kubernetes Service (AKS)
Azure Service Bus
Azure Virtual Machines

Arkitekturen använder AKS för att implementera beräkningskluster för de program som bearbetar stora volymer med transaktioner. Programmen tar emot transaktionerna i meddelanden från Service Bus-ämnen eller köer. Ämnena och köerna kan finnas i Azure-datacenter i olika geografiska regioner och flera AKS-kluster kan läsa indata från dem.

Kommentar

Den här arkitekturen passar en typ av batchtransaktionsbearbetning som på IBM-stordatorer ofta implementeras med hjälp av IBM MQ-serien med meddelandeorienterade mellanprogram.

Arkitektur

Diagram of an architecture implemented by using AKS and Service Bus.

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

Workflow

De numrerade cirklarna i diagrammet motsvarar de numrerade stegen i följande lista.

  1. Arkitekturen använder Service Bus-ämnen och -köer för att organisera batchbearbetningsindata och skicka dem nedströms för bearbetning.
  2. Azure Load Balancer, en lastbalanserare för Layer 4 (TCP, UDP), distribuerar inkommande trafik mellan felfria instanser av tjänster som definierats i en belastningsutjämningsuppsättning. Belastningsutjämning och hantering av anslutningar optimerar bearbetningen.
  3. AKS-klusterarbetsnoderna lyssnar på Service Bus-köslutpunkter för indata.
  4. Java-noderna använder Java Message Service för att ansluta till Service Bus och Java-gränssnitt som Java Database Anslut ivity för att ansluta till andra datakällor. De använder andra Java-API:er efter behov.
  5. De återställningsbara transaktionerna körs tillsammans med affärskoden för varje batchsteg.
  6. Batch-infrastrukturen använder Azure-accelererat nätverk för hastighet.
  7. Azure Cache for Redis, Azure Cosmos DB och Azure Stream Analytics tillhandahåller fungerande lagring om det behövs.
  8. Det permanenta datalagret använder Azure Data Factory för dataintegrering och Azure SQL Managed Instance, affärskritisk prestandanivå, för hög tillgänglighet. Den permanenta lagringen är löst kopplad för enkel växling till andra databastekniker och för optimering av lagringsorganisationen (till exempel med shards eller partitioner).
  9. Datalösningarna (övergångs- och permanent) använder alternativet Geo-redundant lagring i Azure Storage (GRS) för att skydda mot katastrofala fel.

Komponenter

Arkitekturen använder följande komponenter:

  • Azure Virtual Network tillhandahåller ett säkert privat nätverk i molnet. Den kan ansluta virtuella datorer (VM) till varandra, till Internet och till lokala nätverk.
  • Azure ExpressRoute tillhandahåller privata anslutningar mellan Azure-datacenter och lokal infrastruktur.
  • Azure Bastion ger privat och fullständigt hanterad RDP- och SSH-åtkomst till virtuella datorer.
  • Azure Virtual Machines ger flexibiliteten i virtualisering utan att behöva tillhandahålla och underhålla den maskinvara som är värd för den. Alternativen för operativsystemet omfattar Windows och Linux.
  • En virtuell dator som skapats med accelererat nätverk använder enkel rot-I/O-virtualisering (SR-IOV), vilket avsevärt förbättrar nätverksprestandan. Mer information finns i Skapa en virtuell Windows-dator med accelererat nätverk med Azure PowerShell och Översikt över enkel rot-I/O-virtualisering (SR-IOV).
  • Ett Azure-nätverksgränssnitt ansluter en virtuell dator till Internet och till Azure och lokala resurser. Som du ser i den här arkitekturen kan du ge varje underordnad virtuell dator ett eget nätverksgränssnitt och EN IP-adress. Mer information om nätverksgränssnitt finns i Skapa, ändra eller ta bort ett nätverksgränssnitt.
  • Azure Managed Disks är högpresterande och mycket hållbara blocklagring för virtuella datorer. Det finns fyra lagringsalternativ för molnet: Ultra Disk Storage, Premium SSD, Standard SSD och Standard HDD.
  • Azure Kubernetes Service (AKS) är en fullständigt hanterad Kubernetes-tjänst för att distribuera och hantera containerbaserade program.
  • Service Bus tillhandahåller tillförlitliga molnmeddelanden som en tjänst (MaaS) och enkel hybridintegrering.
  • Azures lastbalanseringstjänster ger skalning för hög tillgänglighet och höga prestanda. Den här arkitekturen använder Load Balancer. Den tillhandahåller lastbalanseringsfunktioner för Layer 4 (TCP, UDP) med låg latens för att balansera trafik mellan virtuella datorer och mellan hybridappar med flera nivåer.
  • Azure Cache for Redis är en blixtsnabb och fullständigt hanterad minnesintern cachelagringstjänst för att dela data och tillstånd mellan beräkningsresurser.
  • Azure Cosmos DB är en snabb NoSQL-databas med öppna API:er för valfri skala.
  • Azure Stream Analytics tillhandahåller realtidsanalyser för snabbrörliga dataströmmar från program och enheter.
  • Azure Databricks är en snabb, enkel och samarbetsinriktad stordataanalystjänst baserad på Apache SparkTM.
  • Azure SQL är en familj med SQL-molndatabaser som ger en enhetlig upplevelse för hela SQL-portföljen och ett brett utbud av distributionsalternativ från gränsen till molnet.
  • Azure SQL Managed Instance, en del av Azure SQL-tjänstportföljen, är en hanterad, säker och alltid uppdaterad SQL-instans i molnet.
  • Data Factory är en fullständigt hanterad och serverlös dataintegreringslösning för att förbereda och transformera alla dina data i stor skala.
  • Data Factory stöder Data Factory-fildataformatet Parquet. Mer information finns i Parquet-format i Azure Data Factory.
  • Log Analytics är ett verktyg i Azure-portalen som används för att redigera och köra loggfrågor i Azure Monitor-loggar . Mer information finns i Översikt över Log Analytics i Azure Monitor.
  • Alternativet geo-redundant lagring (GRS) i Azure Storage kopierar dina data synkront tre gånger på en enda fysisk plats i den primära regionen och kopierar dem sedan asynkront till en enda fysisk plats i den sekundära regionen. Mer information finns i Azure Storage-redundans.
  • Azure Blob Storage är massivt skalbar och säker REST-baserad objektlagring för molnbaserade arbetsbelastningar, arkiv, datasjöar, datasjöar, databehandling med höga prestanda och maskininlärning.
  • Azure Files tillhandahåller enkla, säkra och serverlösa filresurser i företagsklass i molnet. Du använder protokollen SMB (Server Message Block) och NFS (Network File System) för att få åtkomst till resurserna.

Information om scenario

I Azure kan du implementera bearbetning av batchtransaktioner, till exempel att publicera betalningar till konton, med hjälp av en arkitektur baserad på Microsoft Azure Kubernetes Service (AKS) och Azure Service Bus. Den här typen av arkitektur ger den transaktionsbearbetningshastighet, skalning och tillförlitlighet som krävs för batchbearbetning med stora volymer.

Vanligtvis förblir ett meddelande i kö tills transaktionen har slutförts, vilket möjliggör återställning om det uppstår ett fel. Du kan också replikera ämnen och köer till andra regioner, dela arbetsbelastningar och fortsätta bearbetningen även om en region misslyckas.

Potentiella användningsfall

Lösningen är idealisk för ekonomi-, utbildnings- och vetenskapsindustrin. Den här arkitekturen är avsedd för bearbetning med stora volymer av batchar med transaktioner, särskilt oberoende transaktioner som kan bearbetas parallellt. Det är därför en sannolik kandidat för användning vid migrering av batchbearbetning för stordatorer. Möjliga program är:

  • Bearbetning av finansiella transaktioner, till exempel löner, beställningar och betalningar.
  • Bearbetning av experimentella data som samlats in med vetenskapliga instrument.
  • Annan batchbearbetning för stordatorer.

Överväganden

Följande överväganden, som baseras på Azure Well-Architected Framework, gäller för den här lösningen:

Tillgänglighet

  • Haveriberedskapstjänsten i Azure Site Recovery skyddar mot stora avbrott. Det är pålitligt, kostnadseffektivt och enkelt att distribuera.
  • Tillgänglighetsuppsättningar för virtuella datorer säkerställer att tillräckligt många virtuella datorer är tillgängliga för att uppfylla verksamhetskritiska batchprocessbehov.
  • Service Bus, AKS och Azure SQL Managed Instance ger hög tillgänglighet och återställning i geografiska regioner.

Operativ

  • Azure Resource Manager-mallar (ARM-mallar) tillhandahåller ett konfigurationsspråk för att beskriva dina resurser i mallar som du kan använda för skriptdistribution. Mallarna tillhandahåller även övervaknings- och aviseringsfunktioner.

Prestandaeffektivitet

  • Arkitekturen är utformad för parallell bearbetning av oberoende transaktioner.
  • Service Bus, AKS och andra Azure PaaS-funktioner ger höga prestanda för transaktionsbearbetning, databehandling och datalagring.

Skalbarhet

  • Service Bus, AKS och andra Azure PaaS-funktioner skalas dynamiskt efter behov.

Säkerhet

  • Alla komponenter i Service Bus-batcharkitekturen fungerar med Azure-säkerhetskomponenter, till exempel Microsoft Entra-ID, virtuellt nätverk och kryptering.

Kostnadsoptimering

Om du vill beräkna kostnaderna för implementeringen av den här lösningen använder du priskalkylatorn.

Funktionerna för automatisk skalning i AKS-kluster – och andra PaaS-funktioner (Azure Platform as a Service) som ger skalning på begäran – håller kostnaderna på ett minimum.

Här följer prisöverväganden för specifika komponenter:

Nästa steg