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
Dataflöde
- Händelser kommer till händelsehubben för indata.
- 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.
- Om Azure-funktionen De-batching och Filtering inte kan lagra händelsen skickas händelsen till Deadletter Event Hub 1.
- 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.
- Händelsen lagras i en Azure Cosmos DB-databas.
- 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:
- Rajasa Savant | Senior Software Development Engineer
Om du vill se icke-offentliga LinkedIn-profiler loggar du in på LinkedIn.
Nästa steg
- Dokumentation om Azure Event Hubs
- Introduktion till Azure Functions
- Azure Functions-dokumentation
- Översikt över Azure Cosmos DB
- Välj ett API i Azure Cosmos DB
Relaterade resurser
- Serverlös händelsebearbetning är en referensarkitektur som beskriver en typisk arkitektur av den här typen, med kodexempel och diskussion om viktiga överväganden.
- Övervakning av serverlös händelsebearbetning ger en översikt och vägledning om övervakning av serverlösa händelsedrivna arkitekturer som den här.
- Azure Kubernetes i händelseströmbearbetning beskriver en variant av en serverlös händelsedriven arkitektur som körs på Azure Kubernetes med KEDA-skalning.
- Scenariot med privat länk i händelseströmsbearbetning är en lösningsidé för att implementera en liknande arkitektur i ett virtuellt nätverk med privata slutpunkter för att förbättra säkerheten.