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.
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.
- Realtidsanalys med Azure Stream Analytics för att generera insikter i realtid från strömmande data.
- Analysera och utforska strömmande data med Azure Data Explorer.
- Skapa egna molnbaserade program, funktioner eller mikrotjänster som körs på strömmande data från Event Hubs.
- Strömma händelser med schemavalidering med hjälp av ett inbyggt schemaregister för att säkerställa kvalitet och kompatibilitet för strömmande data.
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.
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.
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.
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.
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:
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.
- .NET Core
- Java
- Spring
- Python
- JavaScript
- Kör
- C (endast skicka)
- Apache Storm (endast ta emot)
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.