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 oss GitHub Feedback!
I den här artikeln beskrivs en variant av en serverlös händelsedriven arkitektur som körs på Azure Kubernetes med KEDA-skalning som matar in en dataström, bearbetar data och sedan skriver resultatet till en serverdatabas.
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.
Potentiellt 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

- Azure Kubernetes Service (AKS) med KEDA-skalningen används för att autoskala Azure Functions-containrar baserat på antalet händelser som behöver bearbetas.
- Händelser tas emot i händelsehubben för indata.
- Azure-funktionen för batchbearbetning och filtrering utlöses för att hantera händelsen. Det här steget filtrerar bort oönskade händelser och batchar de mottagna händelserna innan de skickas till utdatahändelsehubben.
- Om Azure-funktionen Förbatchning och filtrering inte kan lagra händelsen skickas den till Deadletter Event Hub 1.
- 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.
- Händelsen lagras i en Cosmos DB databas.
Komponenter
- Azure Kubernetes Service (AKS) förenklar distributionen av ett hanterat Kubernetes-kluster i Azure genom att avlasta driftkostnaderna till Azure. Som värd för Kubernetes-tjänsten hanterar Azure kritiska uppgifter som hälsoövervakning och underhåll.
- KEDA är en händelsedriven autoskalning som används för att skala containrar i Kubernetes-klustret baserat på antalet händelser som behöver bearbetas.
- 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.
Anteckning
För IoT-scenarier (Internet of Thing) rekommenderar vi Azure IoT Hub. IoT Hub har en inbyggd slutpunkt som är kompatibel med Azure Event Hubs-API:et, så du kan använda någon av tjänsterna i den här arkitekturen utan större ändringar i backend-bearbetningen. Mer information finns i Ansluta IoT-enheter till Azure: IoT Hub och Event Hubs.
Nästa steg
- 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.
- Avbatchning och filtrering i serverlös händelsebearbetning med Event Hubs beskriver i detalj hur dessa delar av arkitekturen fungerar.
- Privat länkscenario vid bearbetning av händelseströmmar är en lösningsidé för att implementera en liknande arkitektur i ett virtuellt nätverk (VNet) med privata slutpunkter för att förbättra säkerheten.