Redigera

Share via


Bearbetning av serverlös händelseström i ett virtuellt nätverk med privata slutpunkter

Azure Private Link
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 i ett virtuellt nätverk som matar in och bearbetar en dataström och sedan skriver resultatet till en databas.

Arkitektur

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

Dataflöde

  1. VNet-integrering används för att placera alla Azure-resurser bakom privata Azure-slutpunkter.
  2. Händelser kommer till händelsehubben för indata.
  3. 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.
  4. Om Azure-funktionen De-batching och Filtering inte kan lagra händelsen skickas händelsen till Deadletter Event Hub 1.
  5. 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.
  6. Händelsen lagras i en Azure Cosmos DB-databas.
  7. 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:

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

Nästa steg