Freigeben über


Verarbeitung von Massenbatchtransaktion

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

Die Architektur verwendet AKS zum Implementieren von Computeclustern der Anwendungen, die Volumenbatches von Transaktionen verarbeiten. Die Anwendungen erhalten die Transaktionen in Nachrichten aus Service Bus-Themen oder Warteschlangen. Die Themen und Warteschlangen können sich in Azure-Rechenzentren in verschiedenen geografischen Regionen befinden, und mehrere AKS-Cluster können Eingaben daraus lesen.

Anmerkung

Diese Architektur passt zu einer Art Batchtransaktionsverarbeitung, die auf IBM-Großrechnern häufig mithilfe der IBM MQ-Familie von nachrichtenorientierter Middleware implementiert wird.

Architektur

Diagramm einer Architektur, die mithilfe von AKS und Service Bus implementiert wird.

Laden Sie eine Visio-Datei dieser Architektur herunter.

Arbeitsablauf

Die nummerierten Kreise im Diagramm entsprechen den nummerierten Schritten in der folgenden Liste.

  1. Die Architektur verwendet Service Bus-Themen und Warteschlangen, um die Batchverarbeitungseingabe zu organisieren und nachgelagert zur Verarbeitung zu übergeben.
  2. Azure Load Balancer, ein TCP-, UDP-Lastenausgleichsmodul, verteilt eingehenden Datenverkehr zwischen fehlerfreien Instanzen von Diensten, die in einem Lastenausgleichssatz definiert sind. Lastenausgleich und Verwaltung von Verbindungen optimieren die Verarbeitung.
  3. Die AKS-Clusterarbeitsknoten lauschen auf Service Bus-Warteschlangenendpunkte für Eingaben.
  4. Die Java-Knoten verwenden den Java-Nachrichtendienst, um eine Verbindung mit Service Bus herzustellen, und Java-Schnittstellen wie Java-Datenbankkonnektivität, um eine Verbindung mit anderen Datenquellen herzustellen. Sie verwenden bei Bedarf andere Java-APIs.
  5. Die wiederherstellbaren Transaktionen werden zusammen mit dem Geschäftscode für jeden Batchschritt ausgeführt.
  6. Die Batchinfrastruktur verwendet azure beschleunigtes Netzwerk zur Geschwindigkeit.
  7. Azure Cache für Redis, Azure Cosmos DB und Azure Stream Analytics bieten bei Bedarf Arbeitsspeicher.
  8. Die permanente Datenschicht verwendet Azure Data Factory für die Datenintegration und azure SQL Managed Instance, business critical performance tier, for high availability. Der permanente Speicher ist lose gekoppelt, um einfach zu anderen Datenbanktechnologien zu wechseln, und zur Optimierung der Speicherorganisation (z. B. mithilfe von Shards oder Partitionen).
  9. Die Datenlösungen (übergangsweise und dauerhaft) verwenden die Azure Storage-Option für georedundanten Speicher (GRS), um vor katastrophalen Fehlern zu schützen.

Komponenten

  • Azure Bastion ist eine Plattform als Dienst (PaaS), die privaten und vollständig verwalteten Remotedesktopprotokoll (RDP) und Secure Shell (SSH)-Zugriff auf virtuelle Computer (VMs) bereitstellt. In dieser Architektur ermöglicht Azure Bastion den sicheren administrativen Zugriff auf die virtuellen Computer, ohne sie dem öffentlichen Internet verfügbar zu machen.

  • Azure Blob Storage ist ein Cloudobjektspeicherdienst, der skalierbaren und sicheren REST-basierten Objektspeicher für cloudeigene Workloads, Archive, Datenseen, hochleistungsfähiges Computing und maschinelles Lernen bereitstellt. In dieser Architektur bietet Blob Storage skalierbaren Speicher für Batchverarbeitungseingaben, Ausgabe- und Zwischendatendateien.

  • Azure Cache for Redis ist ein vollständig verwalteter In-Memory-Cachedienst für die gemeinsame Nutzung von Daten und Status zwischen Computeressourcen. In dieser Architektur bietet Azure Cache für Redis hochgeschwindigkeits temporären Speicher für batchverarbeitungszustand und Zwischenergebnisse.

  • Azure Cosmos DB ist eine global verteilte NoSQL-Datenbank mit mehreren Modellen, die offene APIs für beliebige Skalierungen enthält. In dieser Architektur bietet Azure Cosmos DB skalierbaren NoSQL-Speicher für die Batchverarbeitung von Metadaten und Arbeitsdaten.

  • Azure Databricks ist eine Apache Spark-basierte Analyseplattform, die Big Data Analytics Services bereitstellt. In dieser Architektur können Azure Databricks für erweiterte Analysen und maschinelles Lernen bei Batchverarbeitungsergebnissen verwendet werden.

  • Azure ExpressRoute ist ein Konnektivitätsdienst, der private Verbindungen zwischen Azure-Rechenzentren und lokaler Infrastruktur bereitstellt. In dieser Architektur ermöglicht ExpressRoute die Konnektivität mit hoher Bandbreite und geringer Latenz für Batchverarbeitungsanwendungen, die auf lokale Datenquellen zugreifen müssen.

  • Azure Files ist ein Clouddateispeicherdienst, der einfache, sichere und serverlose Dateifreigaben auf Unternehmensniveau in der Cloud bereitstellt. Sie verwenden die Branchenstandardprotokolle Server Message Block (SMB) und Network File System (NFS), um auf die Freigaben zuzugreifen. In dieser Architektur bietet Azure Files freigegebenen Dateispeicher für Batchverarbeitungsanwendungen, die dateibasierten Datenzugriff erfordern.

  • Azure Kubernetes Service (AKS) ist ein verwalteter Kubernetes-Dienst zum Bereitstellen und Verwalten von containerisierten Anwendungen. In dieser Architektur stellt AKS die Container-Orchestrierungsplattform für die Ausführung von Batchverarbeitungsanwendungen im großen Maßstab bereit.

  • Load Balancer ist ein Lastenausgleichsdienst, der Lastenausgleichsfunktionen mit niedriger Latenzebene -4 (TCP, UDP) bereitstellt, um den Datenverkehr zwischen VMs und über mehrere hybride Apps hinweg zu ausgleichen. In dieser Architektur verteilt Load Balancer eingehenden Datenverkehr zwischen fehlerfreien Batchverarbeitungsinstanzen, um die Leistung zu optimieren.

  • Azure managed disks are high-performance, highly durable block storage volumes for VMs. Es gibt vier Speicheroptionen für die Cloud: Azure Ultra Disk Storage, Azure Premium SSD, Azure Standard SSD und Azure Standard HDD. In dieser Architektur bieten von Azure verwaltete Datenträger beständigen Speicher für Batchverarbeitungsanwendungen und temporäre Daten.

  • Die Azure-Netzwerkschnittstelle ist eine Komponente, die eine VM mit dem Internet und mit Azure und lokalen Ressourcen verbindet. Sie können jedem untergeordneten virtuellen Computer eine eigene Netzwerkschnittstelle und IP-Adresse zugeben. In dieser Architektur ermöglichen Netzwerkschnittstellen die Konnektivität zwischen Batchverarbeitungs-VMs und dem Service Bus-Messagingsystem. Weitere Informationen zu Netzwerkschnittstellen finden Sie unter Erstellen, Ändern oder Löschen einer Netzwerkschnittstelle.

  • Azure SQL ist eine Familie von SQL-Clouddatenbanken, die eine einheitliche Erfahrung für Ihr gesamtes SQL-Portfolio und eine vielzahl von Bereitstellungsoptionen vom Edge bis zur Cloud bieten. In dieser Architektur stellt Azure SQL relationale Datenbankdienste für Batchverarbeitungsanwendungen bereit.

  • Azure Storage ist ein Cloudspeicherdienst, der mehrere Speicherlösungen bereitstellt, einschließlich Blob, Datei, Warteschlange und Tabellenspeicher. Die GRS-Option von Azure Storage kopiert Ihre Daten synchron dreimal innerhalb eines einzelnen physischen Standorts in der primären Region und kopiert sie dann asynchron an einen einzelnen physischen Standort in der sekundären Region. Weitere Informationen finden Sie unter Azure Storage-Redundanz. In dieser Architektur bietet Azure Storage mit GRS einen äußerst langlebigen Speicher für Batchverarbeitungsdaten und schützt vor katastrophalen Fehlern.

  • Azure Virtual Machines ist ein Cloud Computing-Dienst, der die Flexibilität der Virtualisierung bietet, ohne die Hardware bereitstellen und verwalten zu müssen, die sie hostet. Die Auswahlmöglichkeiten des Betriebssystems umfassen Windows und Linux. In dieser Architektur stellt virtuelle Computer die Computeinfrastruktur für Batchverarbeitungsanwendungen und unterstützende Dienste bereit.

    Eine vm, die mit beschleunigtem Netzwerk erstellt wurde, verwendet die Single Root Input/Output Virtualization (SR-IOV), wodurch die Netzwerkleistung verbessert wird. Weitere Informationen finden Sie unter Erstellen einer Windows-VM mit beschleunigtem Netzwerk mithilfe von Azure PowerShell und Übersicht über SR-IOV. In dieser Architektur verbessert die beschleunigte Vernetzung die Netzwerkleistung von VMs, die Volumenbatchtransaktionen verarbeiten.

  • Azure Virtual Network ist ein Cloudnetzwerkdienst, der ein sicheres privates Netzwerk in der Cloud bereitstellt. Sie kann virtuelle Computer miteinander, mit dem Internet und mit lokalen Netzwerken verbinden. In dieser Architektur bietet Virtual Network eine sichere Netzwerkisolation für die Batchverarbeitungsinfrastruktur und ermöglicht die Kommunikation zwischen AKS-Clustern und anderen Azure-Diensten.

  • Data Factory ist ein cloudbasierter Datenintegrationsdienst, der vollständig verwaltet und serverlos zum Vorbereiten und Transformieren aller Daten in großem Umfang ist. Data Factory unterstützt das Parkettformat. Diese Unterstützung ermöglicht eine effiziente Spaltendatenverarbeitung für Batchvorgänge. In dieser Architektur koordiniert Data Factory Datenintegrationsworkflows für die Batchverarbeitung von Eingaben und Ausgaben.

  • Log Analytics ist ein Tool im Azure-Portal, mit dem Sie Protokollabfragen in Azure Monitor-Protokollen bearbeiten und ausführen können. In dieser Architektur bietet Log Analytics zentralisierte Protokollierungs- und Überwachungsfunktionen für Batchverarbeitungsvorgänge.

  • Service Bus ist ein Cloud-Messaging-Dienst, der zuverlässige Cloud messaging as a Service (MaaS) und eine einfache Hybridintegration bereitstellt. In dieser Architektur liefert Service Bus Transaktionsnachrichten an AKS-Cluster und stellt eine zuverlässige Nachrichtenverarbeitung für Batchworkloads sicher.

  • Die verwaltete SQL-Instanz ist ein verwalteter Datenbankdienst, der eine sichere und immer up-toSQL-Instanz in der Cloud bereitstellt. In dieser Architektur stellt sql Managed Instance Hochverfügbarkeitsdatenbankdienste mit einer unternehmenskritischen Leistungsstufe für permanente Datenspeicherung bereit.

  • Stream Analytics ist ein Dienst, der Echtzeitanalysen für schnelle Datenströme von Anwendungen und Geräten bereitstellt. In dieser Architektur verarbeitet Stream Analytics Streamingdaten aus Batchvorgängen für echtzeitbasierte Überwachung und Analyse.

Szenariodetails

In Azure können Sie die Batchtransaktionsverarbeitung (z. B. Das Posten von Zahlungen an Konten) mithilfe einer Architektur basierend auf Microsoft Azure Kubernetes Service (AKS) und Azure Service Bus implementieren. Diese Art von Architektur stellt die Transaktionsverarbeitungsgeschwindigkeit, Skalierung und Zuverlässigkeit bereit, die für die Verarbeitung von Stapeln mit hohem Volumen erforderlich ist.

In der Regel bleibt eine Nachricht in die Warteschlange eingereiht, bis die Transaktion abgeschlossen ist, sodass eine Wiederherstellung möglich ist, wenn ein Fehler auftritt. Darüber hinaus können Sie Themen und Warteschlangen in andere Regionen replizieren, Workloads freigeben und die Verarbeitung fortsetzen, auch wenn eine Region fehlschlägt.

Potenzielle Anwendungsfälle

Die Lösung ist ideal für die Finanz-, Bildungs- und Wissenschaftsindustrie. Diese Architektur ist für die Verarbeitung von Batches von Transaktionen mit hohem Volumen vorgesehen, insbesondere für unabhängige Transaktionen, die parallel verarbeitet werden können. Es ist daher wahrscheinlich ein Kandidat für die Migration der Batchverarbeitung im Großrechner. Mögliche Anwendungen sind:

  • Verarbeitung von Finanztransaktionen, z. B. Lohnbuchhaltung, Bestellungen und Zahlungen.
  • Verarbeitung experimenteller Daten, die von wissenschaftlichen Instrumenten gesammelt wurden.
  • Andere Großrechnerbatchverarbeitung.

Betrachtungen

Diese Überlegungen implementieren die Säulen des Azure Well-Architected-Frameworks, das eine Reihe von leitden Tenets ist, die verwendet werden können, um die Qualität einer Workload zu verbessern. Weitere Informationen finden Sie unter Microsoft Azure Well-Architected Framework.

Zuverlässigkeit

Zuverlässigkeit stellt sicher, dass Ihre Anwendung die Verpflichtungen erfüllen kann, die Sie an Ihre Kunden vornehmen. Weitere Informationen finden Sie unter Prüfliste zur Entwurfsüberprüfung für Zuverlässigkeit.

  • Azure Site Recovery Notfallwiederherstellungsdienst schützt vor großen Ausfällen. Es ist zuverlässig, kostengünstig und einfach bereitzustellen.
  • Verfügbarkeitssätze für VMs stellen sicher, dass genügend virtuelle Computer verfügbar sind, um die anforderungen des unternehmenskritischen Batchprozesses zu erfüllen.
  • Service Bus, AKS und Azure SQL Managed Instance bieten hohe Verfügbarkeit und Wiederherstellbarkeit in geografischen Regionen.

Sicherheit

Die Sicherheit bietet Sicherheitsmaßnahmen gegen bewusste Angriffe und den Missbrauch Ihrer wertvollen Daten und Systeme. Weitere Informationen finden Sie unter Prüfliste zur Entwurfsüberprüfung für sicherheitsrelevante.

  • Alle Komponenten in der Service Bus-Batcharchitektur arbeiten mit Azure-Sicherheitskomponenten wie Microsoft Entra ID, Virtual Network und Verschlüsselung zusammen.

Kostenoptimierung

Bei der Kostenoptimierung geht es um Möglichkeiten, unnötige Ausgaben zu reduzieren und die betriebliche Effizienz zu verbessern. Weitere Informationen finden Sie unter Prüfliste für die Überprüfung der Kostenoptimierung.

Verwenden Sie den Preisrechner, um die Kosten für ihre Implementierung dieser Lösung zu schätzen.

Die Autoskalierungsfeatures von AKS-Clustern – und anderen PaaS-Features (Azure Platform as a Service), die eine Skalierung bei Bedarf bieten – halten Sie die Kosten auf ein Minimum.

Hier sind Preisüberlegungen für bestimmte Komponenten:

Operative Exzellenz

Operational Excellence deckt die Betriebsprozesse ab, mit denen eine Anwendung bereitgestellt und in der Produktion ausgeführt wird. Weitere Informationen finden Sie unter Prüfliste für die Überprüfung von Operational Excellence.

  • Azure Resource Manager-Vorlagen (ARM-Vorlagen) eine Konfigurationssprache bereitstellen, um Ihre Ressourcen in Vorlagen zu beschreiben, die Sie für die Skriptbereitstellung verwenden können. Die Vorlagen bieten auch Überwachungs- und Warnungsfunktionen.

Leistungseffizienz

Die Leistungseffizienz ist die Fähigkeit Ihrer Arbeitsauslastung, um die Anforderungen zu erfüllen, die die Benutzer auf effiziente Weise an sie stellen. Weitere Informationen finden Sie unter Prüfliste zur Entwurfsüberprüfung für die Leistungseffizienz.

  • Die Architektur ist für die parallele Verarbeitung unabhängiger Transaktionen konzipiert.
  • Service Bus, AKS und andere Azure PaaS-Features bieten eine hohe Leistung für die Transaktionsverarbeitung, Computing und Datenspeicher.
  • Service Bus, AKS und andere Azure PaaS-Features werden bei Bedarf dynamisch skaliert.

Nächste Schritte