Azure Event Hubs: Echtzeitdaten-Streamingplattform mit nativer Apache Kafka-Unterstützung

Azure Event Hubs ist ein nativer Datenstreamingdienst in der Cloud, der Millionen von Ereignissen pro Sekunde mit geringer Latenz von jeder Quelle zu jedem beliebigen Ziel streamen kann. Event Hubs ist mit Apache Kafka kompatibel. So können Sie vorhandene Kafka-Workloads ohne Codeänderungen ausführen.

Unternehmen können Event Hubs verwenden, um Streamingdaten zu erfassen und zu speichern. Mithilfe von Streamingdaten können Unternehmen wertvolle Erkenntnisse gewinnen, Echtzeitanalysen unterstützen und sofort auf Ereignisse reagieren. Sie können diese Daten verwenden, um ihre Gesamteffizienz und Kundenerfahrung zu verbessern.

Diagramm, das zeigt, wie Azure Event Hubs in eine Ereignisstreamingplattform passt.

Azure Event Hubs ist die bevorzugte Ereigniserfassungsschicht jeder Ereignisstreaminglösung, die Sie über Azure erstellen. Event Hubs lässt sich mit Daten- und Analysediensten innerhalb und außerhalb von Azure integrieren, um Ihre vollständige Datenstreamingpipeline zu erstellen und so für die folgenden Anwendungsfälle zu nutzen:

Wichtige Funktionen

In den folgenden Abschnitten erfahren Sie mehr über die wichtigsten Funktionen von Azure Event Hubs.

Apache Kafka auf Azure Event Hubs

Azure Event Hubs ist eine Multiprotokoll-Ereignisstreaming-Engine, die nativ AMQP-, Apache Kafka- und HTTPS-Protokolle unterstützt. Da Event Hubs Apache Kafka unterstützt, können Sie Kafka-Workloads ohne Codeänderung in Azure Event Hubs übertragen. Sie müssen Ihre eigenen Kafka-Cluster nicht einrichten, konfigurieren oder verwalten oder ein Kafka-as-a-Service-Angebot nutzen, das nicht Azure-nativ ist.

Event Hubs wird als cloudnative Broker-Engine erstellt. Daher können Sie Kafka-Workloads mit einer besseren Leistung, einer besseren Kosteneffizienz und ohne operativen Mehraufwand ausführen.

Weitere Informationen finden Sie unter Azure Event Hubs für Apache Kafka.

Schemaregistrierung in Event Hubs

Die Azure-Schemaregistrierung in Event Hubs stellt ein zentrales Repository zum Verwalten von Schemata von Ereignisstreaminganwendungen bereit. Die Schemaregistrierung ist bei jedem Event Hubs-Namespace kostenlos dabei. Sie ist mit Ihren Kafka-Anwendungen oder auf Event Hubs-SDKs basierten Anwendungen integriert.

Diagramm: Integration der Schemaregistrierung und von Azure Event Hubs

Die Schemaregistrierung stellt die Datenkompatibilität und -konsistenz bei Ereignisproduzenten und -consumern sicher. Die Schemaregistrierung ermöglicht Schemaentwicklung, -validierung und -governance sowie effizienten Datenaustausch und Interoperabilität.

Die Schemaregistrierung lässt sich mit Ihren vorhandenen Kafka-Anwendungen integrieren und unterstützt mehrere Schemaformate, darunter Avro- und JSON-Schemata.

Weitere Informationen finden Sie unter Azure-Schema Registry in Azure Event Hubs.

Echtzeitverarbeitung von Streamingereignissen mit Azure Stream Analytics

Event Hubs lässt sich mit Azure Stream Analytics integrieren, um Echtzeitstreamingverarbeitung zu ermöglichen. Mit dem integrierten No-Code-Editor können Sie einen Stream Analytics-Auftrag mithilfe von Drag & Drop entwickeln, ohne Code zu schreiben.

Screenshot: Seite „Prozessdaten“ mit ausgewählter Kachel „Echtzeiterkenntnisse aus Ereignissen aktivieren“

Alternativ können Entwickler die SQL-basierte Stream Analytics-Abfragesprache verwenden, um die Echtzeitdatenstromverarbeitung durchzuführen und eine vielzahl von Funktionen zum Analysieren von Streamingdaten zu nutzen.

Weitere Informationen finden Sie in den Artikeln im Abschnitt zur Integration von Azure Stream Analytics im Inhaltsverzeichnis.

Erkunden von Streamingdaten mit Azure Data Explorer

Azure Data Explorer ist eine vollständig verwaltete Plattform für Big Data Analytics, die hohe Leistung bietet und die Analyse großer Datenmengen in nahezu Echtzeit ermöglicht. Durch das Integrieren von Event Hubs mit Azure Data Explorer können Sie Echtzeitanalysen durchführen und Streamingdaten durchsuchen.

Diagramm: Abfrage und Ausgabe des Azure Data Explorer

Weitere Informationen finden Sie unter Erfassen von Daten aus einem Event Hub in Azure Data Explorer.

Azure Functions, SDKs und das Kafka-Ökosystem

Mit Event Hubs können Sie Ihr Streaming in Echtzeit erfassen, puffern, speichern und verarbeiten, um umsetzbare Erkenntnisse zu erhalten. Event Hubs verwendet ein partitioniertes Consumermodell. Dies ermöglicht mehreren Anwendungen, den Datenstrom gleichzeitig zu verarbeiten, und Sie können die Geschwindigkeit der Verarbeitung steuern. Azure Event Hubs lässt sich für serverlose Architekturen auch mit Azure Functions integrieren.

Für das AMQP 1.0-Protokoll nach Branchenstandard steht ein weites Ökosystem zur Verfügung. SDKs sind in Sprachen wie .NET, Java, Python und JavaScript verfügbar, sodass Sie mit dem Verarbeiten Ihrer Datenströme in Event Hubs beginnen können. Mit allen unterstützten Clientsprachen wird tiefgreifende Integration gewährleistet.

Das Ökosystem ermöglicht auch Integrationen mit Azure Functions, Azure Spring Apps, Kafka-Connectors und anderen Datenanalyseplattformen und -technologien wie Apache Spark und Apache Flink.

Flexibles und kostengünstiges Ereignisstreaming

Sie können flexibles und kosteneffizientes Ereignisstreaming mit den Event Hubs-Tarifen „Standard“, „Premium“ oder „Dedicated“ erleben. Diese Optionen decken Datenstreaminganforderungen ab, die von einigen MB/s bis zu mehreren GB/s reichen. Sie können die Option auswählen, die für Ihre Anforderungen geeignet ist.

Skalierbar

Mit Event Hubs können Sie mit Datenströmen in Megabytes anfangen und später mit Gigabytes oder Terabytes arbeiten. Das Feature für die automatische Vergrößerung ist eine verfügbare Option zum Skalieren der Anzahl von Durchsatzeinheiten oder Verarbeitungseinheiten, um Ihren Nutzungsanforderungen gerecht zu werden.

Unterstützt das Streamen großer Nachrichten

In den meisten Streamingszenarien zeichnen sich die Daten dadurch aus, dass sie leichtgewichtig sind, in der Regel weniger als 1 MB groß, und einen hohen Durchsatz haben. Es gibt jedoch auch Fälle, in denen Nachrichten nicht in kleinere Segmente unterteilt werden können. Azure Event Hubs können Ereignisse mit einer Größe von bis zu 20 MB mit skalierbaren dedizierten Self-Service-Clustern ohne zusätzliche Kosten aufnehmen. Mit dieser Funktion kann Event Hubs eine breite Palette von Nachrichtengrößen verarbeiten und so einen unterbrechungsfreien Geschäftsbetrieb gewährleisten. Weitere Informationen finden Sie unter Senden und Empfangen großer Nachrichten mit Azure Event Hubs.

Erfassen von Streamingdaten für Langzeitaufbewahrung und Batchanalysen

Erfassen Sie Ihre Daten für eine langfristige Aufbewahrung oder Mikrostapelverarbeitung in Azure Blob Storage oder Azure Data Lake Storage nahezu in Echtzeit. Sie können dieses Verhalten für den gleichen Datenstrom erreichen, den Sie zum Ableiten von Echtzeitanalysen verwenden. Das Einrichten der Erfassung von Ereignisdaten geht schnell.

Diagramm: Erfassen von Event Hubs-Daten in Azure Storage oder Azure Data Lake Storage mithilfe von Managed Identity

Funktionsweise

Event Hubs bietet eine einheitliche Ereignisstreamingplattform mit einem zeitlichen Aufbewahrungspuffer, durch den die Ereignisersteller von den Ereignisconsumern abgekoppelt werden. Die Produzenten- und Consumeranwendungen können eine umfangreiche Datenerfassung aus mehreren Protokollen durchführen.

Das folgende Diagramm zeigt die Hauptkomponenten der Event Hubs-Architektur.

Diagramm, das die Hauptkomponenten von Event Hubs zeigt.

Zu den wichtigsten funktionalen Komponenten von Event Hubs gehören:

  • Produzentenanwendungen: Diese Anwendungen können Daten mithilfe von Event Hubs-SDKs oder einem beliebigen Kafka-Produzentenclient für einen Event Hub erfassen.
  • Namespace: Dies ist der Verwaltungscontainer für einen oder mehrere Event Hubs oder Kafka-Themen. Die Verwaltungsaufgaben wie das Zuordnen der Streamingkapazität, das Konfigurieren der Netzwerksicherheit und das Aktivieren der georedundanten Notfallwiederherstellung werden auf Namespaceebene verarbeitet.
  • Event Hubs/Kafka-Thema: In Event Hubs können Sie Ereignisse für einen Event Hub oder ein Kafka-Thema organisieren. Es handelt sich um ein verteiltes Protokoll, das nur Anfügevorgänge unterstützt und aus einer oder mehreren Partitionen bestehen kann.
  • Partitionen: Sie werden verwendet, um einen Event Hub zu skalieren. Sie sind wie Fahrspuren auf einer Autobahn. Wenn Sie mehr Streamingdurchsatz benötigen, können Sie weitere Partitionen hinzufügen.
  • Verbraucheranwendungen: Diese Anwendungen verbrauchen Daten, indem Sie über das Ereignisprotokoll suchen und den Consumeroffset beibehalten. Consumer können Kafka-Consumerclients oder Event Hubs SDK-Clients sein.
  • Consumergruppe: Diese logische Gruppe von Consumerinstanzen liest Daten aus einem Event Hub oder Kafka-Thema. Sie ermöglicht es mehreren Consumern, die gleichen Streamingdaten in einem Event Hub unabhängig in ihrem eigenen Tempo und mit ihren eigenen Offsets zu lesen.

In den folgenden Schnellstarts finden Sie Informationen zu den ersten Schritten mit Event Hubs.

Streamen von Daten mithilfe des Event Hubs-SDK (AMQP)

Sie können eines der folgenden Beispiele verwenden, um Daten mithilfe von SDKs an Event Hubs zu streamen.

Streamen von Daten mit Apache Kafka

Sie können die folgenden Beispiele verwenden, um Daten aus Ihren Kafka-Anwendungen an Event Hubs zu streamen.

Schemaüberprüfung mit Schemaregistrierung

Sie können die Event Hubs-Schemaregistrierung verwenden, um Schemaüberprüfung für Ihre Ereignisstreaminganwendungen durchzuführen.