Azure Kubernetes in gebeurtenisstroomverwerking

Kubernetes-service
IoT Hub
Event Hubs
Functions
Cosmos DB

Oplossingsidee

Als u wilt dat we dit artikel uitbreiden met meer informatie, zoals mogelijke use cases, alternatieve services, implementatieoverwegingen of prijsinformatie, laat het ons dan weten met GitHub Feedback!

In dit artikel wordt een variant beschreven van een serverloze gebeurtenisgestuurde architectuur die wordt uitgevoerd op Azure Kubernetes met KEDA-scaler, die een stroom gegevens opschrijft, de gegevens verwerkt en vervolgens de resultaten naar een back-enddatabase schrijft.

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

Mogelijke use-case

Een veelgebruikte use-case voor het implementeren van een end-to-end patroon voor de verwerking van gebeurtenisstroom omvat de Event Hubs-service voor het ontvangen en verwerken van gebeurtenissen per seconde met behulp van een ontbatchverwerkings- en transformatielogica die is geïmplementeerd met uiterst schaalbare, door Event Hub–geactiveerde functies.

Architectuur

Diagram met de gegevensstroom die in dit artikel wordt beschreven

  1. Azure Kubernetes Service (AKS) met de KEDA-scaler wordt gebruikt voor het automatisch schalen van Azure Functions-containers op basis van het aantal gebeurtenissen dat moet worden verwerkt.
  2. Gebeurtenissen komen aan bij de Event Hub Input.
  3. De Azure-functie Voor het debatcheren en filteren wordt geactiveerd om de gebeurtenis te verwerken. Met deze stap worden ongewenste gebeurtenissen gefilterd en worden de ontvangen gebeurtenissen gedebatched voordat ze worden indienen bij de Output Event Hub.
  4. Als de Azure-functie voor het verwijderen van batches en filteren de gebeurtenis niet kan opslaan, wordt de gebeurtenis verzonden naar De Deadletter Event Hub 1.
  5. Gebeurtenissen die aankomen bij de Event Hub voor uitvoer activeren de Azure-functie transformeren. Met deze Azure-functie wordt de gebeurtenis omgezet in een bericht voor de Cosmos DB.
  6. De gebeurtenis wordt opgeslagen in een Cosmos DB database.

Onderdelen

  • Azure Kubernetes Service (AKS) vereenvoudigt de implementatie van een beheerd Kubernetes-cluster in Azure door de operationele overhead te offloaden naar Azure. Als gehoste Kubernetes-service verwerkt Azure kritieke taken, zoals statuscontrole en onderhoud.
  • KEDA is een gebeurtenisgestuurde automatische schaalvergroting die wordt gebruikt om containers in het Kubernetes-cluster te schalen op basis van het aantal gebeurtenissen dat moet worden verwerkt.
  • Event Hubs de gegevensstroom op. Event Hubs is ontworpen voor scenario's voor gegevensstreaming met hoge doorvoer.
  • Azure Functions is een serverloze rekenoptie. Er wordt gebruikgemaakt van een gebeurtenisgestuurd model, waarbij een stuk 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 gebeurtenisverwerking JSON-records op met behulp van Cosmos DB SQL API.

Notitie

Voor IoT-scenario's (Internet of Thing) raden we u aanAzure IoT Hub. IoT Hub heeft een ingebouwd eindpunt dat compatibel is met de Azure Event Hubs-API, zodat u beide service's in deze architectuur kunt gebruiken zonder belangrijke wijzigingen in de back-endverwerking. Zie Connecting IoT Devices to Azure: IoT Hub and Event Hubs (IoT-apparaten verbinden met Azure: IoT Hub en Event Hubs).

Volgende stappen

  • Serverloze gebeurtenisverwerking is een referentiearchitectuur met een typische architectuur van dit type, met codevoorbeelden en bespreking van belangrijke overwegingen.
  • Bewaking van serverloze gebeurtenisverwerking biedt een overzicht en richtlijnen voor het bewaken van serverloze gebeurtenisgestuurde architecturen zoals deze.
  • In Batchverwerking en filteren in serverloze gebeurtenisverwerking met Event Hubs gedetailleerder beschreven hoe deze gedeelten van de architectuur werken.
  • Een Private Link-scenario in de verwerking van gebeurtenisstroom is een oplossingsidee voor het implementeren van een vergelijkbare architectuur in een virtueel netwerk (VNet) met privé-eindpunten om de beveiliging te verbeteren.