Verwerking van serverloze gebeurtenisstroom in een VNet met privé-eindpunten

Private Link
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!

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

Diagram met gegevens die naar een VNet stromen en vervolgens worden verwerkt door de architectuur die in dit artikel wordt beschreven.

  1. VNet-integratie wordt gebruikt om alle Azure-resources achter azure-privé-eindpunten te zetten.
  2. Gebeurtenissen komen aan bij de Event Hub Input.
  3. 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.
  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.
  7. 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