Oplossingsideeën
In dit artikel wordt een oplossingsidee beschreven. Uw cloudarchitect kan deze richtlijnen gebruiken om de belangrijkste onderdelen te visualiseren voor een typische implementatie van deze architectuur. Gebruik dit artikel als uitgangspunt om een goed ontworpen oplossing te ontwerpen die overeenkomt met de specifieke vereisten van uw workload.
In dit artikel wordt een variatie beschreven van een serverloze gebeurtenisgestuurde architectuur die wordt uitgevoerd op Azure Kubernetes Service (AKS) met KEDA-schaalprogramma. De oplossing neemt een gegevensstroom op, verwerkt de gegevens en schrijft vervolgens de resultaten naar een back-enddatabase.
Architectuur
Een Visio-bestand van deze architectuur downloaden.
Gegevensstroom
- AKS met de KEDA-schaalfunctie wordt gebruikt om Azure Functions-containers automatisch te schalen op basis van het aantal gebeurtenissen dat moet worden verwerkt.
- Gebeurtenissen komen aan bij de Event Hub input.
- De Azure-functie batchverwerking en -filtering wordt geactiveerd om de gebeurtenis af te handelen. Met deze stap worden ongewenste gebeurtenissen gefilterd en worden de ontvangen gebeurtenissen gedebatteerd voordat ze naar de Output Event Hub worden verzonden.
- Als de Azure-functie batchverwerking en -filtering niet kan worden opgeslagen, wordt de gebeurtenis verzonden naar de Deadletter Event Hub 1.
- Gebeurtenissen die binnenkomen bij de Output Event Hub activeren de Transformerende Azure-functie. Met deze Azure-functie wordt de gebeurtenis omgezet in een bericht voor het Azure Cosmos DB-exemplaar.
- 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 voor 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, op verbruik gebaseerde modus. Voor dit scenario slaat de functie voor gebeurtenisverwerking JSON-records op met behulp van Azure Cosmos DB voor NoSQL.
Notitie
Voor IoT-scenario's (Internet of Thing) raden we Azure IoT Hub aan. IoT Hub heeft een ingebouwd eindpunt 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 voor meer informatie: IoT Hub en Event Hubs.
Scenariodetails
In dit artikel wordt een serverloze gebeurtenisgestuurde architectuur beschreven die wordt uitgevoerd op AKS met KEDA-scaler. De oplossing neemt een gegevensstroom op, verwerkt de gegevens en schrijft vervolgens de resultaten naar een back-enddatabase.
Mogelijke use-case
Een populair gebruiksvoorbeeld voor het implementeren van een end-to-end gebeurtenisstroomverwerkingspatroon omvat de Event Hubs-streamingopnameservice voor het ontvangen en verwerken van gebeurtenissen per seconde met behulp van een logica voor batchverwerking en transformatie die is geïmplementeerd met zeer schaalbare, door Event Hub geactiveerde functies.
Medewerkers
Dit artikel wordt onderhouden door Microsoft. De tekst is oorspronkelijk geschreven door de volgende Inzenders.
Hoofdauteur:
- Rajasa Savant | Senior Software Development Engineer
Als u niet-openbare LinkedIn-profielen wilt zien, meldt u zich aan bij LinkedIn.