Dela via


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.

Not

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 över en arkitektur som implementeras med hjälp av AKS och Service Bus.

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

Arbetsflöde

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 Connectivity 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

  • Azure Bastion är en plattform som en tjänst (PaaS) som ger privat och fullständigt hanterad RDP-åtkomst (Remote Desktop Protocol) och Secure Shell (SSH) till virtuella datorer (VM). I den här arkitekturen ger Azure Bastion säker administrativ åtkomst till de virtuella datorerna utan att exponera dem för det offentliga Internet.

  • Azure Blob Storage är en molnobjektlagringstjänst som tillhandahåller skalbar och säker REST-baserad objektlagring för molnbaserade arbetsbelastningar, arkiv, datasjöar, datasjöar med höga prestanda och maskininlärning. I den här arkitekturen tillhandahåller Blob Storage skalbar lagring för indata, utdata och mellanliggande datafiler för batchbearbetning.

  • Azure Cache for Redis är en fullständigt hanterad minnesintern cachelagringstjänst för att dela data och tillstånd mellan beräkningsresurser. I den här arkitekturen tillhandahåller Azure Cache for Redis tillfällig lagring med hög hastighet för batchbearbetningstillstånd och mellanliggande resultat.

  • Azure Cosmos DB är en globalt distribuerad NoSQL-databas med flera modeller som har öppna API:er för valfri skala. I den här arkitekturen tillhandahåller Azure Cosmos DB skalbar NoSQL-lagring för batchbearbetning av metadata och arbetsdata.

  • Azure Databricks är en Apache Spark-baserad analysplattform som tillhandahåller stordataanalystjänster. I den här arkitekturen kan Azure Databricks användas för avancerad analys och maskininlärning i batchbearbetningsresultat.

  • Azure ExpressRoute är en anslutningstjänst som tillhandahåller privata anslutningar mellan Azure-datacenter och lokal infrastruktur. I den här arkitekturen möjliggör ExpressRoute anslutning med hög bandbredd och låg latens för batchbearbetningsprogram som behöver åtkomst till lokala datakällor.

  • Azure Files är en molnfillagringstjänst som 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. I den här arkitekturen tillhandahåller Azure Files delad fillagring för batchbearbetningsprogram som kräver filbaserad dataåtkomst.

  • Azure Kubernetes Service (AKS) är en hanterad Kubernetes-tjänst för att distribuera och hantera containerbaserade program. I den här arkitekturen tillhandahåller AKS containerorkestreringsplattformen för att köra batchbearbetningsprogram i stor skala.

  • Load Balancer är en belastningsutjämningstjänst som tillhandahåller lastbalanseringsfunktioner med låg latens layer-4 (TCP, UDP) för att balansera trafik mellan virtuella datorer och mellan hybridappar med flera nivåer. I den här arkitekturen distribuerar Load Balancer inkommande trafik mellan felfria batchbearbetningsinstanser för att optimera prestanda.

  • Azure-hanterade diskar är högpresterande och mycket hållbara blocklagringsvolymer för virtuella datorer. Det finns fyra disklagringsalternativ för molnet: Azure Ultra Disk Storage, Azure Premium SSD, Azure Standard SSD och Azure Standard HDD. I den här arkitekturen tillhandahåller Azure-hanterade diskar beständig lagring för batchbearbetningsprogram och tillfälliga data.

  • Azure-nätverksgränssnittet är en komponent som ansluter en virtuell dator till Internet och till Azure och lokala resurser. Du kan ge varje underordnad virtuell dator ett eget nätverksgränssnitt och EN IP-adress. I den här arkitekturen möjliggör nätverksgränssnitt anslutning mellan virtuella datorer för batchbearbetning och Service Bus-meddelandesystemet. Mer information om nätverksgränssnitt finns i Skapa, ändra eller ta bort ett nätverksgränssnitt.

  • Azure SQL är en familj av SQL-molndatabaser som ger en enhetlig upplevelse för hela DIN SQL-portfölj och ett brett utbud av distributionsalternativ från gränsen till molnet. I den här arkitekturen tillhandahåller Azure SQL relationsdatabastjänster för batchbearbetningsprogram.

  • Azure Storage är en molnlagringstjänst som tillhandahåller flera lagringslösningar, inklusive blob, fil, kö och tabelllagring. ALTERNATIVET 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. I den här arkitekturen ger Azure Storage med GRS mycket beständig lagring för batchbearbetning av data och skyddar mot katastrofala fel.

  • Azure Virtual Machines är en tjänst för molnbaserad databehandling som ger flexibiliteten i virtualisering utan att behöva tillhandahålla och underhålla maskinvaran som är värd för den. Alternativen för operativsystemet omfattar Windows och Linux. I den här arkitekturen tillhandahåller Virtual Machines beräkningsinfrastrukturen för batchbearbetningsprogram och stödtjänster.

    En virtuell dator som skapats med accelererat nätverk använder enkel rotindata-/utdatavirtualisering (SR-IOV), vilket förbättrar nätverksprestandan. Mer information finns i Skapa en virtuell Windows-dator med accelererat nätverk med hjälp av Azure PowerShell och Översikt över SR-IOV. I den här arkitekturen förbättrar accelererat nätverk nätverksprestanda för virtuella datorer som hanterar batchtransaktioner med stora volymer.

  • Azure Virtual Network är en molnnätverkstjänst som tillhandahåller ett säkert privat nätverk i molnet. Den kan ansluta virtuella datorer till varandra, till Internet och till lokala nätverk. I den här arkitekturen tillhandahåller Virtual Network säker nätverksisolering för batchbearbetningsinfrastrukturen och möjliggör kommunikation mellan AKS-kluster och andra Azure-tjänster.

  • Data Factory är en molnbaserad dataintegreringstjänst som är helt hanterad och serverlös för att förbereda och transformera alla dina data i stor skala. Data Factory stöder Parquet-formatet. Det här stödet möjliggör effektiv kolumnbaserad databearbetning för batchåtgärder. I den här arkitekturen samordnar Data Factory arbetsflöden för dataintegrering för batchbearbetning av indata och utdata.

  • Log Analytics är ett verktyg i Azure-portalen som du kan använda för att redigera och köra loggfrågor i Azure Monitor-loggar . I den här arkitekturen tillhandahåller Log Analytics centraliserade loggnings- och övervakningsfunktioner för batchbearbetningsåtgärder.

  • Service Bus är en molnmeddelandetjänst som tillhandahåller tillförlitliga molnmeddelanden som en tjänst (MaaS) och enkel hybridintegrering. I den här arkitekturen levererar Service Bus transaktionsmeddelanden till AKS-kluster och säkerställer tillförlitlig meddelandebearbetning för batcharbetsbelastningar.

  • SQL Managed Instance är en hanterad databastjänst som tillhandahåller en säker och alltid up-to-date SQL-instans i molnet. I den här arkitekturen tillhandahåller SQL Managed Instance databastjänster med hög tillgänglighet med en affärskritisk prestandanivå för permanent datalagring.

  • Stream Analytics är en tjänst som tillhandahåller realtidsanalys för snabbrörliga dataströmmar från program och enheter. I den här arkitekturen bearbetar Stream Analytics strömmande data från batchåtgärder för övervakning och analys i realtid.

Scenarioinformation

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

Dessa överväganden implementerar grundpelarna i Azure Well-Architected Framework, som är en uppsättning vägledande grundsatser som kan användas för att förbättra kvaliteten på en arbetsbelastning. Mer information finns i Microsoft Azure Well-Architected Framework.

Tillförlitlighet

Tillförlitlighet säkerställer att ditt program kan uppfylla de åtaganden du gör gentemot dina kunder. Mer information finns i checklistan för Designgranskning för tillförlitlighet.

  • Azure Site Recovery haveriberedskapstjänsten 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.

Säkerhet

Säkerhet ger garantier mot avsiktliga attacker och missbruk av dina värdefulla data och system. Mer information finns i checklistan för Designgranskning för Security.

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

Kostnadsoptimering

Kostnadsoptimering handlar om att titta på sätt att minska onödiga utgifter och förbättra drifteffektiviteten. Mer information finns i checklistan Designgranskning för 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:

Operativ skicklighet

Operational Excellence omfattar de driftsprocesser som distribuerar ett program och håller det igång i produktion. Mer information finns i checklistan för Designgranskning för Operational Excellence.

  • Azure Resource Manager-mallar (ARM-mallar) ange 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

Prestandaeffektivitet är arbetsbelastningens förmåga att skala för att uppfylla användarnas krav på ett effektivt sätt. Mer information finns i checklistan för Designgranskning för 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.
  • Service Bus, AKS och andra Azure PaaS-funktioner skalas dynamiskt efter behov.

Nästa steg