Serverlös händelseströmbearbetning i ett VNet med privata slutpunkter

Private Link
Event Hubs
Functions
Cosmos DB

Lösningsidé

Om du vill att vi utökar den här artikeln med mer information, till exempel potentiella användningsfall, alternativa tjänster, implementeringsöverväganden eller prisvägledning, kan du berätta för GitHub Feedback!

Den här lösningsidéen visar en variant av en serverlös händelsedriven arkitektur som matar in en dataström, bearbetar data och skriver resultatet till en serverdatabas. I det här exemplet finns lösningen i ett virtuellt nätverk (VNet) med alla Azure-resurser bakom privata slutpunkter.

Mer information om grundläggande begrepp, överväganden och metoder för serverlös händelsebearbetning finns i referensarkitekturen för serverlös händelsebearbetning.

Potentiella användningsfall

Ett populärt användningsfall för att implementera ett mönster för bearbetning av händelseströmmar från slutet till slut är tjänsten Event Hubs streaming ingestion för att ta emot och bearbeta händelser per sekund med hjälp av en avbatchnings- och transformeringslogik som implementeras med mycket skalbara händelsehubbutlösta funktioner.

Arkitektur

Diagram som visar data som flödar till ett VNet och sedan bearbetas av arkitekturen som beskrivs i den här artikeln.

  1. VNet-integrering används för att placera alla Azure-resurser bakom privata Azure-slutpunkter.
  2. Händelser tas emot i händelsehubben för indata.
  3. Azure-funktionen debatchning och filtrering utlöses för att hantera händelsen. Det här steget filtrerar bort oönskade händelser och avbatchar mottagna händelser innan de skickas till utdatahändelsehubben.
  4. Om Azure-funktionen Förbatchning och filtrering inte kan lagra händelsen skickas den till Deadletter Event Hub 1.
  5. Händelser som kommer till händelsehubben för utdata utlöser transformering av Azure-funktionen. Den här Azure-funktionen omvandlar händelsen till ett meddelande för Cosmos DB.
  6. Händelsen lagras i en Cosmos DB databas.
  7. Om transformering av Azure-funktionen misslyckas med att lagra händelsen sparas händelsen i Deadletter Event Hub 2.

Anteckning

För enkelhetens skull visas inte undernät i diagrammet.

Komponenter

  • Azures privata slutpunkt är ett nätverksgränssnitt som ansluter dig privat och säkert till en tjänst som drivs av Azure Private Link. Den privata slutpunkten använder en privat IP-adress från ditt VNet, vilket effektivt tar tjänsten till ditt VNet.
  • Event Hubs matar in dataströmmen. Event Hubs är utformat för dataströmningsscenarier med högt dataflöde.
  • Azure Functions är ett serverlöst beräkningsalternativ. Den använder en händelsedriven modell, där ett kodstycke (en funktion) anropas av en utlösare.
  • Azure Cosmos DB är en databastjänst med flera modeller som är tillgänglig i ett serverlöst, förbrukningsbaserat läge. I det här scenariot lagrar händelsebearbetningsfunktionen JSON-poster med hjälp av Cosmos DB SQL API.

Nästa steg