Azure Kubernetes in gebeurtenisstroomverwerking

Azure Kubernetes Service (AKS)
Azure IoT Hub
Azure Event Hubs
Azure Functions
Azure Cosmos DB

Ideeën voor oplossingen

Dit artikel is een oplossingsidee. Als u wilt dat we de inhoud uitbreiden met meer informatie, zoals mogelijke gebruiksvoorbeelden, alternatieve services, implementatieoverwegingen of prijsrichtlijnen, kunt u ons dit laten weten door gitHub-feedback te geven.

In dit artikel wordt een variatie beschreven van een serverloze gebeurtenisgestuurde architectuur die wordt uitgevoerd op Azure Kubernetes Service (AKS) met KEDA-scaler. De oplossing neemt een stroom gegevens op, verwerkt de gegevens en schrijft de resultaten vervolgens naar een back-enddatabase.

Architectuur

Architectuurdiagram met de gegevensstroom die in dit artikel wordt beschreven.

Een Visio-bestand van deze architectuur downloaden.

Gegevensstroom

  1. AKS met de KEDA-scaler wordt gebruikt om automatisch Azure Functions containers te schalen op basis van het aantal gebeurtenissen dat moet worden verwerkt.
  2. Gebeurtenissen komen binnen bij de Input Event Hub.
  3. De Azure-functie Voor het ongedaan maken van batches en filteren wordt geactiveerd om de gebeurtenis af te handelen. Met deze stap worden ongewenste gebeurtenissen gefilterd en worden de ontvangen gebeurtenissen gedebatteerd voordat ze worden verzonden naar de Output Event Hub.
  4. Als de Azure-functie voor het ongedaan maken van batchverwerking en filteren de gebeurtenis niet kan opslaan, wordt de gebeurtenis verzonden naar de Deadletter Event Hub 1.
  5. Gebeurtenissen die binnenkomen bij de Output Event Hub activeren de Transformerende Azure-functie. Deze Azure-functie transformeert de gebeurtenis in een bericht voor het Azure Cosmos DB-exemplaar.
  6. De gebeurtenis wordt opgeslagen in een Azure Cosmos DB-database.

Onderdelen

  • Azure Kubernetes Service (AKS) vereenvoudigt het implementeren van een beheerd Kubernetes-cluster in Azure door de operationele overhead naar Azure te offloaden. Als gehoste Kubernetes-service verwerkt Azure kritieke taken, zoals statuscontrole en onderhoud.
  • KEDA is een gebeurtenisgestuurde automatische schaalaanpassing die wordt gebruikt om containers in het Kubernetes-cluster te schalen op basis van het aantal gebeurtenissen dat moet worden verwerkt.
  • Event Hubs neemt de gegevensstroom op. Event Hubs is ontworpen voor scenario's met gegevensstreaming met hoge doorvoer.
  • Azure Functions is een serverloze rekenoptie. Het maakt gebruik van een gebeurtenisgestuurd model, waarbij een stukje code (een functie) wordt aangeroepen door een trigger.
  • Azure Cosmos DB is een databaseservice met meerdere modellen die beschikbaar is in een serverloze modus op basis van verbruik. Voor dit scenario slaat de functie voor gebeurtenisverwerking JSON-records op met behulp van De Azure Cosmos DB for NoSQL.

Notitie

Voor IoT-scenario's (Internet of Thing) raden we Azure IoT Hub aan. IoT Hub een ingebouwd eindpunt heeft dat compatibel is met de Azure Event Hubs API, zodat u beide services in deze architectuur kunt gebruiken zonder grote wijzigingen in de back-endverwerking. Zie IoT-apparaten verbinden met Azure: IoT Hub en Event Hubs voor meer informatie.

Scenariodetails

In dit artikel wordt een serverloze gebeurtenisgestuurde architectuur beschreven die wordt uitgevoerd op AKS met KEDA-scaler. De oplossing neemt een stroom gegevens op, verwerkt de gegevens en schrijft de resultaten vervolgens naar een back-enddatabase.

Zie de referentiearchitectuur serverloze gebeurtenisverwerking voor meer informatie over de basisconcepten, overwegingen en benaderingen voor serverloze gebeurtenisverwerking .

Mogelijke use-case

Een populair gebruiksvoorbeeld voor het implementeren van een end-to-end gebeurtenisstroomverwerkingspatroon is de Event Hubs-streamingopnameservice voor het ontvangen en verwerken van gebeurtenissen per seconde met behulp van een debatch- en transformatielogica die is geïmplementeerd met zeer schaalbare, door Event Hub geactiveerde functies.

Medewerkers

Dit artikel wordt onderhouden door Microsoft. Het is oorspronkelijk geschreven door de volgende inzenders.

Hoofdauteur:

Als u niet-openbare LinkedIn-profielen wilt zien, meldt u zich aan bij LinkedIn.

Volgende stappen