Azure Event Hubs: En plattform för dataströmning i realtid med inbyggt Apache Kafka-stöd
Azure Event Hubs är en intern dataströmningstjänst i molnet 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. Det gör att du kan köra befintliga Kafka-arbetsbelastningar utan några kodändringar.
Företag kan använda Event Hubs för att mata in och lagra strömmande data. Genom att använda strömmande data kan företag få värdefulla insikter, köra analys i realtid och svara på händelser när de inträffar. De kan använda dessa data för att förbättra sin övergripande effektivitet och kundupplevelse.
Event Hubs är det föredragna händelseinmatningsskiktet för alla händelseströmningslösningar som du skapar ovanpå Azure. Den integreras med data- och analystjänster i och utanför Azure för att skapa en fullständig pipeline för dataströmning för att hantera följande användningsfall:
- Bearbeta data från din händelsehubb med hjälp av Azure Stream Analytics för att generera insikter i realtid.
- 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 schemaverifiering med hjälp av det inbyggda Azure Schema Registry för att säkerställa kvalitet och kompatibilitet för strömmande data.
Viktiga funktioner
Lär dig mer om de viktigaste funktionerna i Azure Event Hubs i följande avsnitt.
Apache Kafka på Azure Event Hubs
Event Hubs är en händelseströmningsmotor med flera protokoll som har inbyggt stöd för ADVANCED Message Queuing Protocol (AMQP), Apache Kafka och HTTPS-protokoll. Eftersom det stöder Apache Kafka kan du ta Kafka-arbetsbelastningar till Event Hubs utan att göra några kodändringar. Du behöver inte konfigurera, konfigurera eller hantera dina egna Kafka-kluster eller använda ett Kafka-as-a-service-erbjudande som inte är inbyggt i Azure.
Event Hubs skapas som en molnbaserad koordinatormotor. Därför kan du köra Kafka-arbetsbelastningar med bättre prestanda, bättre kostnadseffektivitet och inga driftkostnader.
Mer information finns i Azure Event Hubs för Apache Kafka.
Schemaregister i 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. Schema Registry levereras kostnadsfritt med varje Event Hubs-namnområde. Den integreras med dina Kafka-program eller Event Hubs SDK-baserade program.
Schema registry säkerställer datakompatibilitet och konsekvens mellan händelseproducenter och konsumenter. Det möjliggör schemautveckling, validering och styrning och främjar effektivt datautbyte och samverkan.
Schema Registry integreras 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 Stream Analytics
Event Hubs integreras med Azure Stream Analytics för att aktivera dataströmbearbetning i realtid. Med den inbyggda redigeringsprogrammet utan kod kan du 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 utföra analyser i nära realtid och utforska strömmande data.
Mer information finns i Mata in data från en händelsehubb i Azure Data Explorer.
Azure-funktioner, SDK:er och Kafka-ekosystemet
Med Event Hubs kan du mata in, buffrar, lagrar och bearbetar dataströmmen i realtid för att få användbara insikter. Event Hubs använder en partitionerad konsumentmodell. Det gör att flera program kan bearbeta strömmen samtidigt och du kan styra bearbetningshastigheten. Event Hubs integreras också med Azure Functions för serverlösa arkitekturer.
Ett brett ekosystem är tillgängligt för AMQP 1.0-protokollet av branschstandard. SDK:er är tillgängliga på språk som .NET, Java, Python och JavaScript, så du kan börja bearbeta dina strömmar från Event Hubs. Alla klientspråk som stöds ger lågnivåintegrering.
Med ekosystemet kan du också integrera med Azure Functions, Azure Spring Apps, Kafka Connectors och andra plattformar och tekniker för dataanalys, till exempel Apache Spark och Apache Flink.
Stöder lokal utveckling med Event Hubs-emulatorn
Azure Event Hubs-emulatorn erbjuder en lokal utvecklingsupplevelse för Event Hubs. Du kan använda emulatorn för att utveckla och testa kod mot tjänsten isolerat, utan molninterferens. Mer information finns i Event Hubs-emulatorn
Flexibel och kostnadseffektiv händelseströmning
Du kan uppleva flexibel och kostnadseffektiv händelseströmning via standard-, Premium- eller dedikerade nivåer för Event Hubs. De här alternativen tillgodoser dataströmningsbehov som sträcker sig från några MB/s till flera GB/s. Du kan välja den matchning som är lämplig för dina krav.
Skalbarhet
Med Event Hubs kan du börja med dataströmmar i megabyte och växa till gigabyte eller terabyte. Funktionen för automatisk blåsning är ett av de alternativ som är tillgängliga för att skala antalet dataflödesenheter eller bearbetningsenheter för att uppfylla dina användningsbehov.
Stöder strömmande stora meddelanden
I de flesta strömningsscenarier kännetecknas data av att de är lätta, vanligtvis mindre än 1 MB, och har ett högt dataflöde. Det finns också instanser där meddelanden inte kan delas in i mindre segment. Event Hubs kan hantera händelser upp till 20 MB med skalbara dedikerade kluster med självbetjäning utan extra kostnad. Den här funktionen gör att Event Hubs kan hantera en mängd olika meddelandestorlekar för att säkerställa oavbruten verksamhet. Mer information finns i Skicka och ta emot stora meddelanden med Azure Event Hubs.
Samla in strömmande data för långsiktig kvarhållning och batchanalys
Samla in dina data nästan i realtid i Azure Blob Storage eller Azure Data Lake Storage för långsiktig kvarhållning eller bearbetning av mikrobatch. Du kan uppnå det här beteendet på samma ström som du använder för att härleda realtidsanalyser. Det går snabbt att konfigurera insamling av händelsedata.
Hur det fungerar
Event Hubs tillhandahåller en enhetlig plattform för händelseströmning med en tidsbevarande buffert som avkodar händelseproducenter från händelsekonsumenter. Producent- och konsumentprogram kan utföra storskalig datainmatning via flera protokoll.
Följande diagram visar huvudkomponenterna i Event Hubs-arkitekturen.
De viktigaste funktionella komponenterna i Event Hubs är:
- Producentprogram: Dessa program kan mata in data till en händelsehubb med hjälp av Event Hubs SDK:er eller kafka-producentklienter.
- Namnområde: Hanteringscontainern för ett eller flera händelsehubbar eller Kafka-ämnen. Hanteringsuppgifter som att allokera strömningskapacitet, konfigurera nätverkssäkerhet och aktivera geo-haveriberedskap hanteras på namnområdesnivå.
- Event Hubs/Kafka-ämne: I Event Hubs kan du ordna händelser i en händelsehubb eller ett Kafka-ämne. Det är en distribuerad logg med endast tillägg, som kan bestå av en eller flera partitioner.
- Partitioner: De 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 kan du lägga till fler partitioner.
- Konsumentprogram: Dessa program kan använda data genom att söka igenom händelseloggen och underhålla konsumentförskjutning. Konsumenter kan vara Kafka-konsumentklienter eller Event Hubs SDK-klienter.
- Konsumentgrupp: Den här logiska gruppen med konsumentinstanser läser data från en händelsehubb eller ett 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.
Relaterat innehåll
Information om hur du kommer igång med Event Hubs finns i följande snabbstarter.
Strömma data med hjälp av 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 hjälp av 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.