Azure Well-Architected Framework-Perspektive auf Azure Event Hubs
Azure Event Hubs ist ein skalierbarer Ereignisverarbeitungsdienst, der große Mengen von Ereignissen und Daten mit kurzer Wartezeit und hoher Zuverlässigkeit erfasst und verarbeitet. Mit diesem Dienst können Millionen von Ereignissen pro Sekunde empfangen und verarbeitet werden. An einen Event Hub gesendete Daten können transformiert und mit einem beliebigen Echtzeitanalyseanbieter oder Batchverarbeitungs- und Speicheradapter gespeichert werden.
Weitere Informationen zur Verwendung von Event Hubs finden Sie in der Azure Event Hubs-Dokumentation. Dort erfahren Sie, wie Sie mithilfe von Event Hubs Millionen von Ereignissen pro Sekunde von verbundenen Geräten und Anwendungen erfassen.
Wenn Sie die Möglichkeiten der Verwendung von Event Hubs verstehen möchten, können Sie operative Exzellenz und Zuverlässigkeit für Ihre Arbeitsauslastung erreichen, indem Sie die folgenden Artikel lesen:
- Überwachen von Azure Event Hubs
- Streamen von Azure-Diagnosedaten mit Event Hubs
- Skalieren mit Event Hubs
Die folgenden Abschnitte sind spezifisch für Azure Event Hubs aus Sicht von Well Architected Framework:
- Überlegungen zum Entwurf
- Prüfliste für die Konfiguration
- Empfohlene Konfigurationsoptionen
- Quellartefakte
Überlegungen zum Entwurf
Azure Event Hubs bietet eine Uptime-SLA. Weitere Informationen finden Sie in der SLA für Event Hubs.
Checkliste
Haben Sie Azure Event Hubs unter Berücksichtigung erstklassiger Betriebsprozesse konfiguriert?
- Erstellen Sie Richtlinien vom Typ „SendOnly“ und „ListenOnly“ für den Ereignisherausgeber bzw. -consumer.
- Wenn Sie das SDK zum Senden von Ereignissen an Event Hubs verwenden, stellen Sie sicher, dass die von der Wiederholungsrichtlinie ausgelösten Ausnahmen (
EventHubsException
oderOperationCancelledException
) ordnungsgemäß erfasst werden. - Verwenden Sie Batchereignisse in Szenarien mit hohem Durchsatz.
- Jeder Consumer kann Ereignisse von einer bis zu maximalen Partitionen lesen, die von der Event Hubs-SKU unterstützt werden.
- Verwenden Sie beim Entwickeln neuer Anwendungen
EventProcessorClient
(.NET und Java) oderEventHubConsumerClient
(Python und JavaScript) als Client-SDK. - Ziehen Sie im Rahmen Ihrer lösungsweiten Strategie für Verfügbarkeit und Notfallwiederherstellung die Aktivierung der Option für georedundante Notfallwiederherstellung in Event Hubs in Betracht.
- Wenn eine Lösung über eine große Anzahl unabhängiger Ereignisherausgeber verfügt, erwägen Sie die Verwendung von Ereignisherausgebern für eine differenzierte Zugriffssteuerung.
- Veröffentlichen Sie keine Ereignisse auf einer bestimmten Partition.
- Wenn Sie häufig Ereignisse veröffentlichen, verwenden Sie nach Möglichkeit das AMQP-Protokoll.
- Die Anzahl von Partitionen spiegelt den Grad der Downstreamparallelität wider, den Sie erreichen können.
- Stellen Sie sicher, dass jede verarbeitende Anwendung eine separate Consumergruppe verwendet und nur ein aktiver Empfänger pro Consumergruppe vorhanden ist.
- Gehen Sie bei Verwendung des Erfassungsfeatures beim Konfigurieren des Zeitfensters und der Dateigröße sorgfältig vor, insbesondere bei geringen Ereignismengen.
Konfigurationsempfehlungen
Beachten Sie beim Konfigurieren von Azure Event Hubs die folgenden Empfehlungen zur Optimierung der Zuverlässigkeit:
Quellartefakte
Verwenden Sie die folgende Abfrage, um Event Hubs-Namespaces mit der SKU Basic zu ermitteln:
Resources
| where type == 'microsoft.eventhub/namespaces'
| where sku.name == 'Basic'
| project resourceGroup, name, sku.name