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!
Dit oplossingsidee toont een variant van een serverloze gebeurtenisgestuurde architectuur die een stroom gegevens opeent, de gegevens verwerkt en de resultaten naar een back-enddatabase schrijft. In dit voorbeeld wordt de oplossing gehost in een virtueel netwerk (VNet) met alle Azure-resources achter privé-eindpunten.
Raadpleeg de referentiearchitectuur serverloze gebeurtenisverwerking voor meer informatie over de basisconcepten, overwegingen en benaderingen voor serverloze gebeurtenisverwerking.
Potentiële gebruikscases
Een veelgebruikte use-case voor het implementeren van een end-to-end-gebeurtenisstroomverwerkingspatroon omvat de Event Hubs streaming-opnameservice voor het ontvangen en verwerken van gebeurtenissen per seconde met behulp van een ontbatchings- en transformatielogica die is geïmplementeerd met uiterst schaalbare, door Event Hub–geactiveerde functies.
Architectuur
- VNet-integratie wordt gebruikt om alle Azure-resources achter azure-privé-eindpunten te zetten.
- Gebeurtenissen komen aan bij de Event Hub Input.
- De Azure-functie voor het debatchen en filteren wordt geactiveerd om de gebeurtenis te verwerken. Met deze stap worden ongewenste gebeurtenissen gefilterd en worden de ontvangen gebeurtenissen uit batches verwijderd voordat ze naar de Event Hub Uitvoer worden verzenden.
- 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.
- 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.
- De gebeurtenis wordt opgeslagen in een Cosmos DB database.
- Als de gebeurtenis niet kan worden opgeslagen met de Functie transformeren van Azure, wordt de gebeurtenis opgeslagen in Deadletter Event Hub 2.
Notitie
Om het eenvoudig te houden, worden subnetten niet weergegeven in het diagram.
Onderdelen
- Azure Private Endpoint is een netwerkinterface die u privé en veilig verbindt met een service die wordt ondersteund door Azure Private Link. Private Endpoint maakt gebruik van een privé-IP-adres van uw VNet, waarbij de service effectief in uw VNet wordt geplaatst.
- 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 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 gebeurtenisverwerking JSON-records op met behulp van Cosmos DB SQL API.
Volgende stappen
- Serverloze gebeurtenisverwerking is een referentiearchitectuur waarin een typische architectuur van dit type wordt beschreven, 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 wordt gedetailleerder beschreven hoe deze delen van de architectuur werken.
- Azure Kubernetes in gebeurtenisstroomverwerking beschrijft een variant van een serverloze gebeurtenisgestuurde architectuur die wordt uitgevoerd op Azure Kubernetes met KEDA-scaler.
Gerelateerde resources
- Manage a Private Endpoint connection (Een privé-eindpuntverbinding beheren)
- Quickstartgidsen voor privé-eindpunten:
- Documentatie over Azure Event Hubs
- Inleiding tot Azure Functions
- Documentatie van Azure Functions
- Overzicht van Azure Cosmos DB
- Kies een API in Azure Cosmos DB
