Lösungsmöglichkeiten
In diesem Artikel ist ein Lösungsvorschlag beschrieben. Ihr Cloudarchitekt kann diesen Leitfaden verwenden, um die Hauptkomponenten einer typischen Implementierung dieser Architektur zu visualisieren. Verwenden Sie diesen Artikel als Ausgangspunkt, um eine gut durchdachte Lösung zu entwerfen, die den spezifischen Anforderungen Ihrer Workload entspricht.
In diesem Artikel wird eine serverlose ereignisgesteuerte Architektur in einem virtuellen Netzwerk beschrieben, die einen Datenstrom erfasst und verarbeitet und die Ergebnisse anschließend in eine Datenbank schreibt.
Aufbau
Datenfluss
- Die VNET-Integration wird verwendet, um alle Azure-Ressourcen hinter privaten Azure-Endpunkten zu setzen.
- Ereignisse treffen beim Eingabeereignis-Hub ein.
- Die Azure-Funktion zum Debatchieren und Filtern wird ausgelöst, um das Ereignis zu behandeln. In diesem Schritt werden unerwünschte Ereignisse herausgefiltert, und die empfangenen Ereignisse werden vor der Übermittlung an den Output Event Hub als Batches zurückgesetzt.
- Wenn die Azure-Funktion zum Debatchieren und Filtern das Ereignis nicht erfolgreich speichern kann, wird das Ereignis an den Deadletter Event Hub 1 übermittelt.
- Ereignisse, die beim Ausgabeereignis-Hub eintreffen, lösen die Azure-Funktion zum Transformieren aus. Diese Azure-Funktion transformiert das Ereignis in eine Nachricht für die Azure Cosmos DB-Datenbank.
- Das Ereignis wird in einer Azure Cosmos DB-Datenbank gespeichert.
- Wenn die Transformierende Azure-Funktion das Ereignis nicht erfolgreich speichern kann, wird das Ereignis im Deadletter Event Hub 2 gespeichert.
Hinweis
Der Einfachheit halber werden Subnetze nicht im Diagramm angezeigt.
Komponenten
- Der private Azure-Endpunkt ist eine Netzwerkschnittstelle, die Sie privat und sicher mit einem Dienst verbindet, der von Azure Private Link unterstützt wird. Der private Endpunkt verwendet eine private IP-Adresse in Ihrem VNet und bindet den Dienst effektiv in Ihr VNet ein.
- Der Datenstrom wird mit Event Hubs erfasst. Event Hubs ist für Datenstromszenarien mit hohem Durchsatz konzipiert.
- Azure Functions ist eine serverlose Computeoption. Es wird ein ereignisgesteuertes Modell verwendet, bei dem ein Codeabschnitt (eine Funktion) durch einen Trigger aufgerufen wird.
- Azure Cosmos DB ist ein Datenbankdienst mit mehreren Modellen, der in einem serverlosen, verbrauchsbasierten Modus verfügbar ist. Für dieses Szenario speichert die Funktion für die Ereignisverarbeitung JSON-Datensätze mithilfe von Azure Cosmos DB for NoSQL.
Szenariodetails
Diese Lösungsidee zeigt eine Variation einer serverlosen, ereignisgesteuerten Architektur, die einen Datenstrom erfasst, die Daten verarbeitet und die Ergebnisse in eine Back-End-Datenbank schreibt. In diesem Beispiel wird die Lösung in einem virtuellen Netzwerk mit allen Azure-Ressourcen hinter privaten Endpunkten gehostet.
Weitere Informationen zu den grundlegenden Konzepten, Überlegungen und Ansätzen für die serverlose Ereignisverarbeitung finden Sie in der Referenzarchitektur für die serverlose Ereignisverarbeitung.
Mögliche Anwendungsfälle
Ein beliebter Anwendungsfall für die Implementierung eines End-to-End-Ereignisdatenstrom-Verarbeitungsmusters ist der Event Hubs-Streamingerfassungsdienst zum Empfangen und Verarbeiten von Ereignissen pro Sekunde mithilfe einer Debatching- und Transformationslogik, die mit hochgradig skalierbaren, durch Event Hub ausgelösten Funktionen implementiert wird.
Beitragende
Dieser Artikel wird von Microsoft gepflegt. Er wurde ursprünglich von folgenden Mitwirkenden geschrieben:
Hauptautor:
- Rajasa Savant | Senior Software Development Engineer
Melden Sie sich bei LinkedIn an, um nicht öffentliche LinkedIn-Profile anzuzeigen.
Nächste Schritte
- Verwalten einer Verbindung mit einem privatem Endpunkt
- Schnellstartanleitungen für private Endpunkte:
- Dokumentation zu Azure Event Hubs
- Einführung in Azure Functions
- Dokumentation zu Azure Functions
- Überblick über Azure Cosmos DB
- Auswählen einer API in Azure Cosmos DB
Zugehörige Ressourcen
- Die serverlose Ereignisverarbeitung ist eine Referenzarchitektur, die eine typische Architektur dieses Typs mit Codebeispielen und einer Erläuterung wichtiger Überlegungen detailliert erläutert.
- Azure Kubernetes in der Ereignisstreamverarbeitung beschreibt eine Variation einer serverlosen ereignisgesteuerten Architektur, die in Azure Kubernetes mit KEDA Scaler ausgeführt wird.