Azure Event Hubs – en plattform för dataströmning i realtid med inbyggt Apache Kafka-stöd

Azure Event Hubs är en molnbaserad dataströmningstjänst som kan strömma miljontals händelser per sekund, med låg svarstid, från valfri källa till valfri destination. Event Hubs är kompatibelt med Apache Kafka och gör att du kan köra befintliga Kafka-arbetsbelastningar utan några kodändringar.

Med Event Hubs för att mata in och lagra strömmande data kan företag utnyttja kraften i strömmande data för att få värdefulla insikter, driva realtidsanalyser och svara på händelser när de inträffar, vilket förbättrar den övergripande effektiviteten och kundupplevelsen.

Diagram that shows how Azure Event Hubs fits in an event streaming platform.

Azure Event Hubs är det föredragna händelseinmatningsskiktet för alla händelseströmningslösningar som du skapar ovanpå Azure. Den integreras sömlöst med data- och analystjänster i och utanför Azure för att skapa din fullständiga dataströmningspipeline för att hantera följande användningsfall.

Viktiga funktioner

Apache Kafka på Azure Event Hubs

Azure Event Hubs är en händelseströmningsmotor med flera protokoll som har inbyggt stöd för protokollen AMQP, Apache Kafka och HTTPs. Eftersom det stöder Apache Kafka tar du Kafka-arbetsbelastningar till Azure Event Hubs utan att göra någon kodändring. Du behöver inte konfigurera, konfigurera och hantera dina egna Kafka-kluster eller använda ett Kafka-as-a-Service-erbjudande som inte är inbyggt i Azure.

Event Hubs skapas från grunden som en molnbaserad mäklarmotor. Därför kan du köra Kafka-arbetsbelastningar med bättre prestanda, bättre kostnadseffektivitet och utan driftkostnader.

Mer information finns i Azure Event Hubs för Apache Kafka.

Schemaregister i Azure Event Hubs

Azure Schema Registry i Event Hubs tillhandahåller en centraliserad lagringsplats för hantering av scheman för program för händelseströmning. Azure Schema Registry levereras kostnadsfritt med varje Event Hubs-namnområde och integreras sömlöst med dina Kafka-program eller Event Hubs SDK-baserade program.

Diagram that shows Schema Registry and Azure Event Hubs integration.

Det säkerställer datakompatibilitet och konsekvens mellan händelseproducenter och konsumenter. Schema Registry möjliggör sömlös schemautveckling, validering och styrning samt främjande av effektivt datautbyte och samverkan.

Schema Registry integreras sömlöst med dina befintliga Kafka-program och har stöd för flera schemaformat, inklusive Avro- och JSON-scheman.

Mer information finns i Azure Schema Registry i Event Hubs.

Realtidsbearbetning av strömmande händelser med Azure Stream Analytics

Event Hubs integreras sömlöst med Azure Stream Analytics för att möjliggöra dataströmbearbetning i realtid. Med den inbyggda redigeringsprogrammet utan kod kan du enkelt utveckla ett Stream Analytics-jobb med dra och släpp-funktioner utan att skriva någon kod.

Screenshot showing the Process data page with Enable real time insights from events tile selected.

Alternativt kan utvecklare använda sql-baserade Stream Analytics-frågespråk för att utföra dataströmbearbetning i realtid och dra nytta av en mängd olika funktioner för att analysera strömmande data.

Mer information finns i artiklar i avsnittet Azure Stream Analytics-integrering i innehållsförteckningen.

Utforska strömmande data med Azure Data Explorer

Azure Data Explorer är en fullständigt hanterad plattform för stordataanalys som ger höga prestanda och möjliggör analys av stora datavolymer nästan i realtid. Genom att integrera Event Hubs med Azure Data Explorer kan du enkelt utföra analys i nära realtid och utforskning av strömmande data.

Diagram that shows Azure Data explorer query and output.

Mer information finns i Mata in data från en händelsehubb i Azure Data Explorer och artiklar i samma avsnitt.

Omfattande ekosystem – Azure-funktioner, SDK:er och Kafka-ekosystem

Mata in, buffra, lagra och bearbeta din dataström i realtid för att få användbara insikter. Event Hubs använder en partitionerad konsumentmodell som gör att flera program kan bearbeta dataströmmen samtidigt och att du får kontroll över bearbetningens hastighet. Azure Event Hubs integreras också med Azure Functions för serverlösa arkitekturer.

Med ett brett ekosystem tillgängligt för AMQP 1.0-protokollet och SDK:er som är tillgängliga på olika språk: .NET, Java, Python, JavaScript kan du enkelt börja bearbeta dina strömmar från Event Hubs. Alla klientspråk som stöds ger lågnivåintegrering.

Ekosystemet ger dig även sömlös integrering av Azure Functions, Azure Spring Apps, Kafka Anslut orer och andra plattformar och tekniker för dataanalys som Apache Spark och Apache Flink.

Flexibel och kostnadseffektiv händelseströmning

Du kan uppleva flexibel och kostnadseffektiv händelseströmning via Event Hubs olika nivåer – inklusive Standard, Premium och Dedicated. Dessa alternativ tillgodoser dataströmningsbehov som sträcker sig från några MB/s till flera GB/s, så att du kan välja den perfekta matchningen för dina behov.

Skalbarhet

Med Event Hubs kan du börja med dataströmmar i megabytestorlek och växa till gigabyte eller terabyte. Funktionen Auto blåses upp är ett av de många tillgängliga alternativen för att skala antalet dataflödesenheter eller bearbetningsenheter för att uppfylla dina användningsbehov.

Samla in strömmande data för långsiktig kvarhållning och batchanalys

Samla in dina data nästan i realtid i en Azure Blob Storage eller Azure Data Lake Storage för långsiktig kvarhållning eller bearbetning av mikrobatch. Du kan åstadkomma detta beteende i samma dataström som du använder för att få fram analys i realtid. Det går snabbt att konfigurera insamling av händelsedata.

Image showing capturing of Event Hubs data into Azure Storage or Azure Data Lake Storage using Managed Identity

Så här fungerar det

Event Hubs tillhandahåller en enhetlig plattform för händelseströmning med tidsbevarande buffert som avkodar händelseproducenter från händelsekonsumenter. Producenter och konsumentprogram kan utföra storskalig datainmatning via flera protokoll.

Följande bild visar de viktigaste komponenterna i Event Hubs-arkitekturen:

Diagram that shows the main components of Event Hubs.

De viktigaste funktionella komponenterna i Event Hubs är:

  • Producentprogram kan mata in data till en händelsehubb med hjälp av Event Hubs SDK:er eller valfri Kafka-producentklient.
  • Namnområde är hanteringscontainern för en eller flera händelsehubbar eller Kafka-ämnen. Hanteringsuppgifter som att allokera strömningskapacitet, konfigurera nätverkssäkerhet, aktivera geo-haveriberedskap osv. hanteras på namnområdesnivå.
  • Event Hub/Kafka-ämne: I Event Hubs kan du ordna händelser i en händelsehubb eller ett Kafka-ämne. Det är en endast distribuerad logg för tillägg, som kan bestå av en eller flera partitioner.
  • Partitioner används för att skala en händelsehubb. De är som körfält på en motorväg. Om du behöver mer strömmande dataflöde måste du lägga till fler partitioner.
  • Konsumentprogram förbrukar data genom att söka igenom händelseloggen och underhålla konsumentförskjutning. Konsumenter kan vara Kafka-konsumentklienter eller Event Hubs SDK-klienter.
  • Konsumentgrupp är en logisk grupp med konsumentinstanser som läser data från en händelsehubb/Kafka-ämne. Det gör det möjligt för flera konsumenter att läsa samma strömmande data i en händelsehubb oberoende av varandra i sin egen takt och med sina egna förskjutningar.

Nästa steg

Information om hur du kommer igång med Event Hubs finns i följande snabbstartsguider.

Strömma data med Event Hubs SDK (AMQP)

Du kan använda något av följande exempel för att strömma data till Event Hubs med hjälp av SDK:er.

Strömma data med Apache Kafka

Du kan använda följande exempel för att strömma data från dina Kafka-program till Event Hubs.

Schemavalidering med Schema Registry

Du kan använda Event Hubs Schema Registry för att utföra schemavalidering för dina program för händelseströmning.