Redigera

Dela via


Azure Kubernetes i händelseströmbearbetning

Azure Kubernetes Service (AKS)
Azure IoT Hub
Azure Event Hubs
Azure Functions
Azure Cosmos DB

Lösningsidéer

I den här artikeln beskrivs en lösningsidé. Molnarkitekten kan använda den här vägledningen för att visualisera huvudkomponenterna för en typisk implementering av den här arkitekturen. Använd den här artikeln som utgångspunkt för att utforma en välkonstruerad lösning som överensstämmer med arbetsbelastningens specifika krav.

Den här artikeln beskriver en variant av en serverlös händelsedriven arkitektur som körs på Azure Kubernetes Service (AKS) med KEDA-skalning. Lösningen matar in en dataström, bearbetar data och skriver sedan resultatet till en serverdelsdatabas.

Arkitektur

Arkitekturdiagram som visar dataflödet som beskrivs i den här artikeln.

Ladda ned en Visio-fil med den här arkitekturen.

Dataflöde

  1. AKS med KEDA-skalning används för automatisk skalning av Azure Functions-containrar baserat på antalet händelser som behöver bearbetas.
  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 utdatahändelsehubben.
  4. Om Azure-funktionen För batchbearbetning och filtrering inte kan lagra händelsen skickas händelsen till Deadletter Event Hub 1.
  5. Händelser som anländer till händelsehubben för utdata utlöser Den transformerande Azure-funktionen. 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.

Komponenter

  • Azure Kubernetes Service (AKS) förenklar distributionen av ett hanterat Kubernetes-kluster i Azure genom att avlasta driftkostnaderna till Azure. Som värdbaserad Kubernetes-tjänst hanterar Azure viktiga uppgifter, till exempel 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 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.

Kommentar

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 serverdelsbearbetningen. Mer information finns i Ansluta IoT-enheter till Azure: IoT Hub och Event Hubs.

Information om scenario

Den här artikeln beskriver en serverlös händelsedriven arkitektur som körs på AKS med KEDA-skalning. Lösningen matar in en dataström, bearbetar data och skriver sedan resultatet till en serverdelsdatabas.

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 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 implementerad med mycket skalbara, händelsehubbutlösta funktioner.

Deltagare

Den här artikeln underhålls av Microsoft. Det har ursprungligen skrivits av följande medarbetare.

Huvudförfattare:

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

Nästa steg