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 i ett virtuellt nätverk som matar in och bearbetar en dataström och sedan skriver resultatet till en databas.
Arkitektur
Dataflöde
- VNet-integrering används för att placera alla Azure-resurser bakom privata Azure-slutpunkter.
- 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.
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 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 visar en variant av en serverlös händelsedriven arkitektur som matar in en dataström, bearbetar data och skriver resultatet till en serverdelsdatabas. I det här exemplet finns lösningen i ett virtuellt nätverk 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 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 av batchbearbetnings- och transformeringslogik som implementeras med mycket skalbara funktioner som utlöses av Event Hubs.
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
- Hantera en privat slutpunktsanslutning
- Snabbstartsguider för privat slutpunkt:
- 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.
- Av batchbearbetning och filtrering i serverlös händelsebearbetning med Event Hubs beskriver mer detaljerat hur dessa delar av arkitekturen fungerar.
- 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.