Azure Event Hubs ist ein vollständig verwalteter Event-Streaming-Service von Microsoft für die Ingestion und Verarbeitung von Millionen Events pro Sekunde. Der Service ist kompatibel mit Apache Kafka und ideal für Big Data Pipelines, IoT-Telemetrie und Echtzeit-Analytics.
Was ist Azure Event Hubs?
Azure Event Hubs ist Microsofts Antwort auf die Herausforderung, massive Datenströme in Echtzeit zu verarbeiten. Der Service fungiert als “Big Data Telemetry Service” und kann Millionen Events pro Sekunde aufnehmen, speichern und zur Verarbeitung bereitstellen.
Die Architektur basiert auf einem Partitionierungs-Modell:
Partitions: Jeder Event Hub hat 1-100+ Partitionen. Events werden basierend auf Partition Key auf Partitionen verteilt. Partitionen ermöglichen parallele Verarbeitung durch mehrere Consumer.
Consumer Groups: Mehrere Anwendungen können denselben Event Hub über separate Consumer Groups lesen, ohne sich gegenseitig zu beeinflussen. Jede Consumer Group hat eigene Offsets.
Checkpointing: Consumer können Offsets speichern, um bei Crashes von der letzten Position fortzusetzen. Unterstützt über Azure Storage Blobs oder Checkpoint Store.
Ein Alleinstellungsmerkmal: Event Hubs bietet native Kafka-Kompatibilität (Kafka 1.0+ Protocol). Bestehende Kafka-Anwendungen können ohne Code-Änderungen migriert werden. Einfach den Connection String auf Event Hubs zeigen lassen.
Für DSGVO-konforme Datenverarbeitung ist Event Hubs in europäischen Azure-Regionen verfügbar. Der Service erfüllt ISO 27001, SOC 2, HIPAA und weitere Compliance-Standards.
Event Hubs vs. Service Bus vs. Event Grid
Azure bietet drei Event/Messaging-Services. Wann welchen wählen?
| Feature | Event Hubs | Service Bus | Event Grid |
|---|---|---|---|
| Use Case | Big Data Streaming | Enterprise Messaging | Event-driven Architectures |
| Throughput | Millionen/Sek | Tausende/Sek | Millionen/Sek |
| Message Size | 1 MB | 256 KB | 1 MB |
| Ordering | Per Partition | FIFO Queues/Topics | Nein |
| Retention | 1-90 Tage | 14 Tage | 24 Stunden |
| Protocol | AMQP, Kafka, HTTPS | AMQP, HTTPS | HTTPS, Webhooks |
| Best for | Telemetrie, Logs, IoT | Workflows, Transactions | Reaktive Apps, Webhooks |
Faustregel:
- Event Hubs: Hoher Durchsatz, Analytics, Data Pipelines
- Service Bus: Enterprise Messaging, Transaktionen, Sessions
- Event Grid: Event-basierte Integration, Pub/Sub-Pattern
Throughput Units und Scaling
Event Hubs skaliert über Throughput Units (TUs):
1 TU ermöglicht:
- Ingress: 1 MB/s oder 1.000 Events/Sekunde (was zuerst erreicht wird)
- Egress: 2 MB/s oder 4.096 Events/Sekunde
Auto-Inflate: Aktivieren Sie Auto-Inflate, um TUs automatisch zu skalieren:
Event Hub → Settings → Auto-Inflate → Enable (Max TUs: 20)Premium vs. Standard: Standard TUs sind shared (Noisy Neighbor möglich). Premium nutzt Processing Units (PUs), die dedicated CPU/Memory haben. 1 PU ≈ 8 TUs Kapazität.
Dedicated Capacity Units (CUs) bieten single-tenant Deployment für sehr hohe Workloads (> 2 MB/s sustained).
Event Hubs Capture
Capture ist ein Feature, das alle Events automatisch zu Azure Storage oder Data Lake schreibt:
Konfiguration:
Event Hub → Capture → Enable
- Output: Azure Blob Storage oder Data Lake Gen2
- Format: Avro
- Time Window: 5-15 Min
- Size Window: 10-500 MBUse Cases:
- Compliance: Langzeit-Archivierung für Audits
- Replay: Ereignisse später erneut verarbeiten
- Batch Analytics: Historische Analysen mit Spark/Databricks
Capture-Files haben automatisches Naming-Schema:
{namespace}/{eventhub}/{partition}/{year}/{month}/{day}/{hour}/{minute}/{second}Ideal für Lambda-Architekturen: Real-time Processing (Stream Analytics) + Batch Processing (Databricks auf Capture-Files).
Typische Anwendungsfälle
1. IoT-Telemetrie-Ingestion
Sammeln Sie Sensor-Daten von tausenden IoT-Geräten.
Beispiel: 50.000 Smart Meter senden alle 10 Sekunden Daten. Event Hubs nimmt 5.000 Events/Sekunde auf, Stream Analytics aggregiert und schreibt zu Cosmos DB.
2. Application Logging
Zentralisieren Sie Logs aus verteilten Microservices.
Beispiel: 100 Kubernetes Pods senden Logs via Fluent Bit zu Event Hubs. Log Analytics konsumiert und indexiert für Queries.
3. Clickstream-Analytics
Verarbeiten Sie User-Interaktionen in Echtzeit.
Beispiel: E-Commerce-Site sendet jeden Klick zu Event Hubs. Azure Functions berechnen Real-time Recommendations.
4. Fraud Detection
Analysieren Sie Transaktionen in Echtzeit auf Anomalien.
Beispiel: Payment Gateway sendet jede Transaktion zu Event Hubs. Azure Stream Analytics nutzt ML-Modell für Fraud-Scoring.
5. Data Pipeline Buffering
Entkoppeln Sie Producer und Consumer.
Beispiel: REST API schreibt Orders zu Event Hubs. Backend-Worker verarbeiten asynchron (entkoppelt von API-Last).
6. Event-Driven Microservices
Implementieren Sie Event Sourcing und CQRS-Pattern.
Beispiel: Order Service published “OrderCreated” zu Event Hubs. Inventory Service, Notification Service und Billing Service konsumieren unabhängig.
Best Practices
1. Partition Strategy
Wähle Partition Count basierend auf erwarteten Consumern:
- 1 Consumer per Partition für optimale Parallelität
- Standard: Max 32 Partitionen
- Premium: 100+ Partitionen
Nutze sinnvolle Partition Keys:
// Gut: Logische Gruppierung
var eventData = new EventData(payload) {
PartitionKey = deviceId // Alle Events eines Devices in einer Partition
};
// Schlecht: Random Keys (verliert Ordering)
var eventData = new EventData(payload) {
PartitionKey = Guid.NewGuid().ToString()
};2. Implementiere Retry-Logic
var options = new EventHubProducerClientOptions {
RetryOptions = new EventHubsRetryOptions {
MaximumRetries = 3,
Delay = TimeSpan.FromSeconds(1),
Mode = EventHubsRetryMode.Exponential
}
};3. Batching für Effizienz
using var eventBatch = await producer.CreateBatchAsync();
foreach (var ev in events) {
if (!eventBatch.TryAdd(ev)) {
await producer.SendAsync(eventBatch);
eventBatch = await producer.CreateBatchAsync();
}
}
await producer.SendAsync(eventBatch);4. Monitoring und Alerting
Überwache folgende Metriken:
- Incoming/Outgoing Messages
- Throttled Requests (Indikator für zu wenig TUs)
- Server Errors
- User Errors (oft falsche Credentials)
Setze Alerts für Throttling und Errors via Azure Monitor.
5. Security Best Practices
- Nutze Shared Access Signatures (SAS) mit minimalen Berechtigungen
- Aktiviere Azure AD Authentication statt SAS wo möglich
- Nutze Private Endpoints (Premium) für VNET-Integration
- Aktiviere Customer-Managed Keys für Encryption at Rest (Premium)
6. Cost Optimization
- Nutze Auto-Inflate statt manuelles Over-Provisioning
- Setze Retention nur so hoch wie benötigt (jeder Tag kostet)
- Deaktiviere Capture wenn nicht benötigt (0,10 EUR/GB)
- Erwäge Premium ab 5+ TUs sustained (bessere CPU/TU-Ratio)
Häufig gestellte Fragen
Was kostet Azure Event Hubs?
Standard Tier:
- Basis: 0,028 EUR pro Million Events
- Throughput Units: 0,015 EUR/TU-Stunde
- Beispiel: 100 Mio. Events/Monat mit 2 TUs = 2,80 + (2 * 0,015 * 730) = ca. 25 EUR/Monat
Premium Tier: Ab ca. 700 EUR/Monat für 1 PU Dedicated: Ab ca. 6.000 EUR/Monat für 1 CU
Ist Azure Event Hubs DSGVO-konform?
Ja, bei Wahl europäischer Regionen. Event Hubs erfüllt ISO 27001, SOC 2, GDPR, HIPAA. Daten bleiben in der gewählten Region.
Wie integriert sich Azure Event Hubs mit anderen Azure Services?
Native Integration mit: Stream Analytics, Functions, Logic Apps, Databricks, Synapse Analytics, Data Factory, Log Analytics. Alle via Triggers oder Connectors.
Welche SLAs bietet Azure Event Hubs?
Standard/Premium: 99,95% SLA. Dedicated: 99,99% SLA.
Kann ich Azure Event Hubs in Hybrid-Cloud-Szenarien nutzen?
Ja, Event Hubs kann via ExpressRoute oder VPN aus On-Premises erreicht werden. Premium bietet zusätzlich Private Endpoints für VNET-Integration.
Integration mit innFactory
Als Microsoft Solutions Partner unterstützt innFactory Sie bei:
- Event-Driven Architekturen: Design und Implementierung
- Kafka-Migration: Migration von On-Premises Kafka zu Event Hubs
- Real-time Analytics: Stream Analytics Pipelines mit Event Hubs
- IoT-Plattformen: End-to-End IoT-Lösungen mit Event Hubs
- Performance-Optimierung: Partitioning, Scaling, Cost Optimization
Kontaktieren Sie uns für eine unverbindliche Beratung zu Azure Event Hubs und Event Streaming.
Verfügbare Varianten & Optionen
Basic
- Günstig für Entwicklung und Testing
- 1 Consumer Group
- 24h Retention
- Max 1 Throughput Unit
- Keine Kafka-Unterstützung
Standard
- Bis zu 40 Throughput Units (40 MB/s Ingress)
- 20 Consumer Groups
- Bis zu 7 Tage Retention
- Kafka-Protocol Support
- Kosten bei niedriger Auslastung
Premium
- Dedicated Processing Units (keine Noisy Neighbor)
- Bis zu 90 Tage Retention
- Private Endpoints (VNET)
- Customer-Managed Keys
- Höhere Kosten
- Minimum 1 PU = ca. 700 EUR/Monat
Dedicated
- Single-Tenant Deployment
- Garantierte Kapazität
- Bis zu 120 MB/s per CU
- Ideal für > 2 MB/s sustained
- Sehr hohe Kosten (ab ca. 6.000 EUR/Monat)
Typische Anwendungsfälle
Technische Spezifikationen
Häufig gestellte Fragen
Was ist der Unterschied zwischen Event Hubs und Service Bus?
Event Hubs ist für hohen Durchsatz (Millionen Events/Sekunde) und Streaming optimiert. Service Bus bietet erweiterte Messaging-Features wie Transactions, Sessions und Dead-Letter-Queues. Event Hubs = Big Data Ingestion, Service Bus = Enterprise Messaging.
Kann ich Kafka-Clients mit Event Hubs nutzen?
Ja, Event Hubs bietet ein Kafka-kompatibler Endpoint (Standard und höher). Bestehende Kafka-Anwendungen können ohne Code-Änderungen auf Event Hubs migriert werden. Einfach Connection String anpassen.
Was sind Throughput Units und wie viele brauche ich?
1 TU = 1 MB/s Ingress (Eingang) oder 2 MB/s Egress (Ausgang). Für 5 MB/s sustained Ingress benötigen Sie 5 TUs. Auto-Inflate kann TUs automatisch skalieren basierend auf Last.
Wie funktioniert Event Hubs Capture?
Capture schreibt alle Events automatisch zu Azure Blob Storage oder Data Lake im Avro-Format. Ideal für Cold Storage, Compliance oder Replay-Szenarien. Aktivieren Sie Capture und definieren Sie Intervalle (Zeit oder Größe).
Was sind Consumer Groups?
Consumer Groups ermöglichen mehreren Anwendungen, denselben Event Hub unabhängig zu lesen. Jede Consumer Group hat eigene Offsets. Beispiel: Eine App für Real-time Analytics, eine für Archivierung.
Wann sollte ich Premium statt Standard wählen?
Premium eignet sich für produktive Workloads mit: (1) Konstant hoher Last (> 5 MB/s), (2) VNET-Integration erforderlich, (3) Lange Retention (> 7 Tage), (4) Compliance-Anforderungen (Customer-Managed Keys).
Wie partitioniere ich Events optimal?
Nutzen Sie Partition Keys für logische Gruppierung (z.B. DeviceID). Events mit gleichem Key landen in derselben Partition (garantierte Reihenfolge). Anzahl Partitionen bestimmt parallele Consumer-Skalierung.
Was kostet Event Hubs?
Standard: Ab 0,028 EUR/Mio. Events + 0,015 EUR/TU-Stunde. Premium: Ab ca. 700 EUR/Monat für 1 PU. Dedicated: Ab ca. 6.000 EUR/Monat für 1 CU. Capture: 0,10 EUR/GB zusätzlich.
