Ta bort batch- och filterserverlös händelsebearbetning med Event Hubs

Azure Event Hubs
Azure Functions
Azure Cosmos DB

Lösningsidéer

Den här artikeln är en lösningsidé. Om du vill att vi ska utöka innehållet med mer information, till exempel potentiella användningsfall, alternativa tjänster, implementeringsöverväganden eller prisvägledning, kan du meddela oss genom att ge GitHub feedback.

Den här artikeln beskriver en serverlös händelsedriven arkitektur som använder Azure Event Hubs och Azure Functions för att mata in och filtrera en dataström för databaslagring.

Arkitektur

Diagram som visar dataflödes- och nyckelbearbetningspunkter i arkitekturen som beskrivs i den här artikeln

Dataflöde

  1. Händelser kommer till händelsehubben för indata.
  2. Azure-funktionen De-batching och Filtering utlöses för att hantera händelsen. Det här steget filtrerar bort oönskade händelser och av batchar de mottagna händelserna innan de skickas till händelsehubben för utdata.
  3. Om Azure-funktionen De-batching och Filtering inte kan lagra händelsen skickas händelsen till Deadletter Event Hub 1.
  4. Händelser som kommer till händelsehubben för utdata utlöser funktionen Transformering av Azure. Den här Azure-funktionen omvandlar händelsen till ett meddelande för Azure Cosmos DB-instansen.
  5. Händelsen lagras i en Azure Cosmos DB-databas.
  6. Om transformeringsfunktionen i Azure misslyckas med att lagra händelsen sparas händelsen i Deadletter Event Hub 2.

Komponenter

  • 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 en koddel (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 Azure Cosmos DB för NoSQL.

Scenarioinformation

Den här lösningsidén beskriver en variant av en serverlös händelsedriven arkitektur som använder Event Hubs och Azure Functions för att mata in och bearbeta en dataström. Resultaten skrivs till en databas för lagring och framtida granskning när de har avbatterats och filtrerats.

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

Potentiella användningsfall

Ett populärt användningsfall för att implementera ett bearbetningsmönster för händelseströmmen från slutpunkt till slutpunkt inkluderar event hubs-tjänsten för strömningsinmatning för att ta emot och bearbeta händelser per sekund med hjälp av en de-batching- och transformeringslogik som implementerats med mycket skalbara, händelsehubbutlösta funktioner.

Deltagare

Den här artikeln underhålls av Microsoft. Den skrevs ursprungligen av följande deltagare.

Huvudförfattare:

Om du vill se icke-offentliga LinkedIn-profiler loggar du in på LinkedIn.

Nästa steg