Allgemein
Was ist ein Azure Event Hubs-Namespace?
Ein Namespace ist ein Bereichscontainer für Event Hub- oder Kafka-Themen. Dadurch erhalten Sie einen eindeutigen FQDN. Ein Namespace dient als Anwendungscontainer, der mehrere Event Hubs oder Kafka-Themen aufnehmen kann.
Ist es möglich, den Tarif nach der Bereitstellung zu ändern?
Nein Nach der Bereitstellung ist es nicht mehr möglich, (z. B.) von der Standardebene in die Premiumebene zu wechseln, ohne eine neue Ressource bereitzustellen.
Wann erstelle ich einen neuen Namespace bzw. wann verwende ich einen bereits vorhandenen?
Durchsatzeinheiten (Throughput Units, TUs) oder Verarbeitungseinheiten (Processing Units, PUs) für Kapazitätszuordnungen werden auf Namespace-Ebene abgerechnet. Ein Namespace ist auch mit einer Region verbunden.
Sie sollten in einem der folgenden Szenarien einen neuen Namespace erstellen, anstatt einen bestehenden zu verwenden:
- Sie benötigen einen Event Hub, der mit einer neuen Region verbunden ist.
- Sie benötigen einen Event Hub, der mit einem anderen Abonnement verbunden ist.
- Sie benötigen einen Event Hub mit einer eindeutigen Kapazitätszuweisung (d.h. der Kapazitätsbedarf für den Namespace mit dem hinzugefügten Event Hub würde den Schwellenwert von 40 TU überschreiten, und Sie möchten sich nicht für den dedizierten Cluster entscheiden).``
Was ist der Unterschied zwischen den Event Hubs-Ebenen Basic und Standard?
Im Standard-Tarif von Azure Event Hubs stehen Ihnen mehr Funktionen als im Basic-Tarif zur Verfügung. Die folgenden Features sind in Standard enthalten:
- Längere Aufbewahrung von Ereignissen
- Zusätzliche Brokerverbindungen (Bei Überschreitung der enthaltenen Anzahl fällt eine Zusatzgebühr an.)
- Mehr als eine Consumergruppe
- Capture
- Kafka-Integration
Weitere Informationen zu Tarifen, u.a. für Event Hubs Dedicated, finden Sie unter Event Hubs – Preisdetails.
Wo steht Azure Event Hubs zur Verfügung?
Azure Event Hubs ist in allen unterstützten Azure-Regionen verfügbar. Eine Liste finden Sie auf der Seite Azure-Regionen.
Kann ich eine einzelne AMQP-Verbindung (Advance Message Queueing Protocol) zum Senden und Empfangen von mehreren Event Hubs verwenden?
Ja, solange sich alle Event Hubs im gleichen Namespace befinden.
Was ist die maximale Beibehaltungsdauer für Ereignisse?
Due Event Hubs Standardebene unterstützt derzeit eine maximale Aufbewahrungsdauer von sieben Tagen, während für die Premium- und die dedizierte Ebene dieser Grenzwert 90 Tage beträgt. Event Hubs sind nicht als dauerhafter Datenspeicher vorgesehen. Aufbewahrungszeiträume von mehr als 24 Stunden sind für Szenarien vorgesehen, in denen es praktisch ist, einen Stream von Ereignissen erneut in die gleichen Systeme wiederzugeben. Dies gilt beispielsweise, wenn Sie ein neues Machine Learning-Modell für vorhandene Daten trainieren oder überprüfen möchten. Wenn Sie Nachrichten länger als sieben Tage aufbewahren möchten, werden die Daten durch Aktivieren von Event Hubs Capture in Ihrem Event Hub von Ihrem Event Hub per Pull in das Storage-Konto oder das von Ihnen ausgewählte Azure Data Lake-Dienstkonto übertragen. Abhängig von Ihrer erworbenen Durchsatzeinheit entstehen durch das Aktivieren von „Capture“ Kosten.
Sie können den Aufbewahrungszeitraum für die erfassten Daten in Ihrem Speicherkonto konfigurieren. Die Lebenszyklusverwaltung von Azure Storage bietet eine umfassende, regelbasierte Richtlinie für universelle v2- und Blob Storage-Konten. Verwenden Sie die Richtlinie, um Ihre Daten in die entsprechenden Zugriffsebenen zu übertragen oder am Ende des Lebenszyklus der Daten ablaufen zu lassen. Weitere Informationen finden Sie unter Verwalten des Azure Blob Storage-Lebenszyklus.
Wie überwache ich meine Event Hubs?
Event Hubs gibt umfassende Metriken aus, die den Zustand Ihrer Ressourcen in Azure Monitor angeben. Mit den Metriken können Sie zudem die allgemeine Integrität des Event Hubs-Diensts nicht nur auf Namespaceebene, sondern auch auf Entitätsebene bewerten. Erfahren Sie mehr über die angebotene Überwachung für Azure Event Hubs.
Wo werden die Daten von Azure Event Hubs gespeichert?
In den Azure Event Hubs-Ebenen „Standard“, „Premium“ und „dediziert“ werden die darin veröffentlichten Daten in der Region gespeichert und bearbeitet, die Sie beim Erstellen eines Event Hubs-Namespace auswählen. Standardmäßig verbleiben Kundendaten in dieser Region. Wenn die georedundante Notfallwiederherstellung für einen Azure Event Hubs-Namespace eingerichtet wird, werden Metadaten in die von Ihnen ausgewählte sekundäre Region kopiert. Aus diesem Grund werden für diesen Dienst automatisch die Anforderungen an die Datenresidenz für die Regionen erfüllt. Dies gilt auch für die Anforderungen, die im Trust Center angegeben sind.
Welche Protokolle kann ich zum Senden und Empfangen von Ereignissen verwenden?
Producer oder Absender können die Protokolle AMQP (Advanced Message Queueing Protocol), Kafka oder HTTPS verwenden, um Ereignisse an einen Event Hub zu senden.
Consumer oder Empfänger verwenden AMQP oder Kafka, um Ereignisse von einem Event Hub zu empfangen. Event Hubs unterstützt nur das Pullmodell für Consumer für den Empfang von Ereignisse. Selbst wenn Sie Ereignishandler zum Behandeln von Ereignissen von einem Event Hub verwenden, verwendet der Ereignisprozessor intern das Pullmodell, um Ereignisse vom Event Hub zu empfangen.
AMQP
Sie können das AMQP 1.0-Protokoll für das Senden und Empfangen von Ereignissen an und von Azure Event Hubs verwenden. AMQP ermöglicht eine zuverlässige, leistungsfähige und sichere Kommunikation für das Senden und Empfangen von Ereignissen. Sie können es für ein leistungsstarkes Echtzeitstreaming verwenden, und es wird von den meisten Azure Event Hubs-SDKs unterstützt.
HTTPS-/REST-API
Sie können Ereignisse nur mithilfe von HTTP POST-Anforderungen an Event Hubs senden. Event Hubs unterstützt nicht das Empfangen von Ereignissen über HTTPS. Es eignet sich für einfache Clients, bei denen eine direkte TCP-Verbindung nicht sinnvoll ist.
Apache Kafka
Azure Event Hubs verfügt über einen integrierten Kafka-Endpunkt, der Kafka-Producer und -Consumer unterstützt. Anwendungen, die mit Kafka erstellt wurden, können das Kafka-Protokoll (ab Version 1.0) ohne Codeänderungen für das Senden und Empfangen von Ereignissen an und von Event Hubs verwenden.
Azure SDKs abstrahieren die zugrunde liegenden Kommunikationsprotokolle und bieten eine vereinfachte Möglichkeit zum Senden und Empfangen von Ereignissen an und von Event Hubs mit Programmiersprachen wie C#, Java, Python, JavaScript usw.
Welche Ports muss ich in der Firewall öffnen?
Sie können die folgenden Protokolle mit Azure Event Hubs verwenden, um Ereignisse zu senden und zu empfangen:
- Advanced Message Queuing Protocol 1.0 (AMQP)
- Hypertext Transfer Protocol 1.1 mit Transport Layer Security (HTTPS)
- Apache Kafka
In der folgenden Tabelle finden Sie die ausgehenden Ports, die Sie öffnen müssen, um diese Protokolle für die Kommunikation mit Azure Event Hubs verwenden zu können.
Protocol | Ports | Details |
---|---|---|
AMQP | 5671 und 5672 | Weitere Informationen finden Sie im AMQP 1.0 in Azure Service Bus und Event Hubs – Protokollleitfaden. |
HTTPS | 443 | Dieser Port wird für die HTTP/REST-API und für AMQP-over-WebSockets verwendet. |
Kafka | 9093 | Weitere Informationen finden Sie unter Verwenden von Azure Event Hubs aus Apache Kafka-Anwendungen. |
Der HTTPS-Port ist für die ausgehende Kommunikation auch dann erforderlich, wenn AMQP über Port 5671 verwendet wird, da mehrere Verwaltungsvorgänge, die von den Client-SDKs ausgeführt werden, und der Abruf von Token aus Microsoft Entra ID (falls verwendet) über HTTPS erfolgen.
Die offiziellen Azure-SDKs verwenden im Allgemeinen das AMQP-Protokoll zum Senden von Ereignissen an und Empfangen von Ereignissen von Event Hubs. Die Option AMQP-over-WebSockets-Protokoll wird über TCP-Port 443 wie die HTTP-API ausgeführt, ist aber ansonsten funktionell identisch mit einfachem AMQP. Diese Option weist eine höhere anfängliche Verbindungslatenz auf, weil zusätzliche Handshakeroundtrips ausgeführt werden und der Mehraufwand geringfügig höher ist. Dies ist ein Kompromiss, der aufgrund der gemeinsamen Verwendung des HTTPS-Ports eingegangen werden muss. Wenn dieser Modus ausgewählt ist, ist TCP-Port 443 für die Kommunikation ausreichend. Mit den folgenden Optionen können Sie den einfachen AMQP- oder den AMQP-WebSockets-Modus auswählen:
Sprache | Option |
---|---|
.NET | Eigenschaft EventHubConnectionOptions.TransportType mit EventHubsTransportType.AmqpTcp oder EventHubsTransportType.AmqpWebSockets |
Java | com.microsoft.azure.eventhubs.EventProcessorClientBuilder.transporttype mit AmqpTransportType.AMQP oder AmqpTransportType.AMQP_WEB_SOCKETS |
Knoten | EventHubConsumerClientOptions verfügt über eine webSocketOptions -Eigenschaft. |
Python | EventHubConsumerClient.transport_type mit TransportType.Amqp oder TransportType.AmqpOverWebSocket |
Welche IP-Adressen muss ich zulassen?
Wenn Sie mit Azure arbeiten, müssen Sie manchmal bestimmten IP-Adressbereichen oder URLs in Ihrer Unternehmensfirewall oder Ihrem Proxy erlauben, auf alle Azure-Dienste zuzugreifen, die Sie verwenden oder zu verwenden versuchen. Überprüfen Sie, ob der Datenverkehr für die von Event Hubs verwendeten IP-Adressen zulässig ist. Weitere Informationen zu den von Azure Event Hubs verwendeten IP-Adressen finden Sie unter Azure-IP-Bereiche und Diensttags – öffentliche Cloud.
Vergewissern Sie sich außerdem, dass die IP-Adresse für Ihren Namespace zulässig ist. Um die richtigen IP-Adressen zu ermitteln, die für Ihre Verbindungen zulässig sind, führen Sie die folgenden Schritte aus:
Führen Sie den folgenden Befehl an einer Eingabeaufforderung aus:
nslookup <YourNamespaceName>.servicebus.windows.net
Notieren Sie sich die IP-Adresse, die in
Non-authoritative answer
zurückgegeben werden.
Wenn Sie einen Namespace verwenden, der in einem älteren Cluster gehostet wird (basierend auf Cloud Services; der CNAME endet auf *.cloudapp.net), und der Namespace zonenredundant ist, müssen Sie einige zusätzliche Schritte ausführen. Wenn sich Ihr Namespace in einem neueren Cluster (basierend auf VM-Skalierungsgruppen; der CNAME endet auf *.cloudapp.azure.com) mit Zonenredundanz befindet, können Sie die folgenden Schritte überspringen.
Führen Sie zunächst nslookup für den Namespace aus.
nslookup <yournamespace>.servicebus.windows.net
Notieren Sie sich den Namen im Abschnitt non-authoritative answer (nicht autorisierende Antwort), der in einem der folgenden Formate vorliegt:
<name>-s1.cloudapp.net <name>-s2.cloudapp.net <name>-s3.cloudapp.net
Führen Sie den Befehl „nslookup“ für jeden Namen mit den Suffixen s1, s2 und s3 aus, um die IP-Adressen aller drei Instanzen zu erhalten, die in drei Verfügbarkeitszonen ausgeführt werden.
Hinweis
Die vom
nslookup
-Befehl zurückgegebene IP-Adresse ist keine statische IP-Adresse. Allerdings bleibt sie gleich, bis die zugrunde liegende Bereitstellung gelöscht oder in einen anderen Cluster verschoben wird.
Welche Client-IP-Adressen senden Ereignisse an meinen Namespace oder empfangen Ereignisse daraus?
Aktivieren Sie zunächst die IP-Filterung für den Namespace.
Aktivieren Sie dann Diagnoseprotokolle für Event Hubs-Verbindungsereignisse für virtuelle Netzwerke, indem Sie den Anweisungen unter Aktivieren von Diagnoseprotokollen folgen. Es wird die IP-Adresse angezeigt, für die die Verbindung verweigert wird.
{
"SubscriptionId": "0000000-0000-0000-0000-000000000000",
"NamespaceName": "namespace-name",
"IPAddress": "1.2.3.4",
"Action": "Deny Connection",
"Reason": "IPAddress doesn't belong to a subnet with Service Endpoint enabled.",
"Count": "65",
"ResourceId": "/subscriptions/0000000-0000-0000-0000-000000000000/resourcegroups/testrg/providers/microsoft.eventhub/namespaces/namespace-name",
"Category": "EventHubVNetConnectionEvent"
}
Wichtig
Protokolle virtueller Netzwerke werden nur dann generiert, wenn der Namespace Zugriff über spezifische IP-Adressen (IP-Filterregeln) erlaubt. Wenn Sie den Zugriff auf Ihren Namespace mit diesen Features nicht einschränken und dennoch Protokolle virtueller Netzwerke erhalten möchten, um IP-Adressen von Clients nachzuverfolgen, die sich mit dem Namespace der Event Hubs verbinden, können Sie die folgende Umgehungslösung verwenden: Aktivieren Sie IP-Filterung, und fügen Sie den gesamten adressierbaren IPv4-Bereich (0.0.0.0/1
- 128.0.0.0/1
) und den IPv6 Bereich (::/1
- 8000::/1
) hinzu.
Hinweis
Derzeit ist es nicht möglich, die IP-Quelladresse einer einzelnen Nachricht oder eines einzelnen Ereignisses zu bestimmen.
Apache Kafka-Integration
Wie integriere ich meine vorhandene Kafka-Anwendung in Event Hubs?
Event Hubs stellt einen Kafka-Endpunkt bereit, der in Ihren vorhandenen Apache Kafka-basierten Anwendungen verwendet werden kann. Es ist lediglich eine Konfigurationsänderung erforderlich, damit Sie die PaaS-Kafka-Funktionen nutzen können. Dies stellt eine Alternative zum Ausführen eines eigenen Kafka-Clusters dar. Event Hubs unterstützt Apache Kafka 1.0 und neuere Clientversionen und kann mit Ihren vorhandenen Kafka-Anwendungen, -Tools und -Frameworks verwendet werden. Weitere Informationen finden Sie unter Event Hubs für Kafka-Repository.
Welche Konfigurationsänderungen muss ich an meiner vorhandenen Anwendung für die Kommunikation mit Event Hubs vornehmen?
Um eine Verbindung mit einem Event Hub herzustellen, müssen Sie die Kafka-Clientkonfigurationen aktualisieren. Dies erfolgt durch Erstellen eines Event Hub-Namespace und Abrufen der Verbindungszeichenfolge. Ändern Sie „bootstrap.servers“ so, dass der Event Hubs-FQDN und der Port auf 9093 verweisen. Aktualisieren Sie „sasl.jaas.config“ so, dass der Kafka-Client mit der richtigen Authentifizierung wie folgt an den Event Hubs-Endpunkt geleitet wird (dabei handelt es sich um die abgerufene Verbindungszeichenfolge):
bootstrap.servers={YOUR.EVENTHUBS.FQDN}:9093
request.timeout.ms=60000
security.protocol=SASL_SSL
sasl.mechanism=PLAIN
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="{YOUR.EVENTHUBS.CONNECTION.STRING}";
Beispiel:
bootstrap.servers=dummynamespace.servicebus.windows.net:9093
request.timeout.ms=60000
security.protocol=SASL_SSL
sasl.mechanism=PLAIN
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="Endpoint=sb://dummynamespace.servicebus.windows.net/;SharedAccessKeyName=DummyAccessKeyName;SharedAccessKey=XXXXXXXXXXXXXXXXXXXXX";
Hinweis
Wenn „sasl.jaas.config“ in Ihrem Framework als Konfiguration nicht unterstützt wird, müssen Sie die Konfigurationen suchen, die zum Festlegen des SASL-Benutzernamens und -Kennworts verwendet werden, und diese stattdessen verwenden. Legen Sie den Benutzernamen auf $ConnectionString und das Kennwort auf Ihre Event Hubs-Verbindungszeichenfolge fest.
Welche Nachrichten- oder Ereignisgröße gilt für Event Hubs?
Die maximal zulässige Nachrichtengröße für Event Hubs beträgt 1 MB.
Durchsatzeinheiten
Was sind Event Hubs-Durchsatzeinheiten? (Standardebene)
Mit dem Durchsatz wird in Event Hubs die Menge der Daten in Megabyte oder die Anzahl der 1-KB-Ereignisse (in Tausenderschritten) definiert, die über Event Hubs ein- oder ausgehen. Dieser Durchsatz wird in Durchsatzeinheiten (Throughput Units, TUs) gemessen. Damit Sie den Event Hubs-Dienst verwenden können, müssen Sie zunächst TUs erwerben. Sie können Event Hubs-Durchsatzeinheiten über das Portal oder mithilfe von Event Hubs-Resource Manager-Vorlagen explizit auswählen.
Werden Durchsatzeinheiten auf alle Event Hubs in einem Namespace angewandt?
Ja, Durchsatzeinheiten (Throughput Units, TUs) werden auf alle Event Hubs in einem Event Hubs-Namespace angewandt. Das bedeutet, dass Sie TUs auf Namespaceebene erwerben und diese auf die Event Hubs unter dem Namespace aufgeteilt werden. Durch jede TU erhält der Namespace die Berechtigung für folgende Funktionen:
- Eingangsereignisse bis zu 1 MB pro Sekunde (Ereignisse, die an einen Event Hub gesendet werden), aber nicht mehr als 1.000 Eingangsereignisse, Verwaltungsvorgänge oder Steuer-API-Aufrufe pro Sekunde.
- Ausgangsereignisse (Ereignisse, die von einem Event Hub genutzt werden) mit bis zu 2 MB pro Sekunde, aber maximal 4.096 Ausgangsereignissen.
- Bis zu 84 GB Ereignisspeicher (ausreichend für die Standardaufbewahrungsdauer im 1-Stunden-Format)
Wie werden Durchsatzeinheiten abgerechnet?
Durchsatzeinheiten (Throughput Units, TUs) werden auf Stundenbasis abgerechnet. Die Abrechnung basiert auf der maximalen Anzahl von Einheiten, die während der jeweiligen Stunde ausgewählt wurden.
Wie kann ich die Nutzung für meine Durchsatzeinheiten optimieren?
Sie können mit nur einer Durchsatzeinheit (Throughput Unit, TU) beginnen und die automatische Vergrößerung aktivieren. Mit dem Feature für die automatische Vergrößerung können Sie die TUs erhöhen, wenn sich der Datenverkehr oder die Nutzlast erhöht. Sie können zudem eine Obergrenze für die Anzahl von TUs festlegen.
Wie funktioniert das Feature für die automatische Vergrößerung von Event Hubs?
Mit dem Feature für die automatische Vergrößerung können Sie die Durchsatzeinheiten (Throughput Units, TUs) hochskalieren. Das bedeutet, dass Sie zunächst eine geringe Anzahl von TUs erwerben können und die TUs über die Funktion für die automatische Vergrößerung zentral hochskaliert werden, wenn der eingehende Datenverkehr zunimmt. Dies bietet Ihnen eine kostengünstige Option und die vollständige Kontrolle über die Anzahl der zu verwaltenden TUs. Dieses Feature betrifft nur das zentrale Hochskalieren, das zentrale Herunterskalieren der Anzahl von TUs können Sie vollständig steuern, indem Sie sie aktualisieren.
Sie könnten mit einer niedrigen Anzahl von Durchsatzeinheiten (TUs) beginnen, z. B. mit 2 TUs. Wenn Sie davon ausgehen, dass der Datenverkehr möglicherweise bis auf 15 TUs ansteigen kann, aktivieren Sie das Feature für die automatische Vergrößerung für den Namespace, und legen Sie die maximale Anzahl auf 15 TUs fest. Damit werden die TUs bei zunehmendem Datenverkehr nun automatisch erhöht.
Fallen Kosten an, wenn ich das Feature für die automatische Vergrößerung aktiviere?
Mit diesem Feature sind keine Kosten verbunden.
Kann die Zonenredundanz für einen vorhandenen Event Hub-Namespace aktiviert werden?
Dies ist derzeit nicht möglich, da sich alte Event Hub-Namespaces in unterschiedlichen Clustern befinden und es keine Möglichkeit gibt, sie zu den neuen Clustern zu migrieren, die automatisch die Zonenredundanz aktivieren, wenn neue Event Hub-Namespaces erstellt werden.
Wie werden Durchsatzlimits durchgesetzt?
Wenn der gesamte eingehende Durchsatz oder die gesamte eingehende Ereignisrate über alle Event Hubs hinweg in einem Namespace das Einheitenkontingent für den aggregierten Durchsatz überschreitet, werden Absender gedrosselt und erhalten die Fehlermeldung, dass das Eingangskontingent überschritten wurde.
Wenn der gesamte ausgehende Durchsatz oder die gesamte ausgehende Ereignisrate über alle Event Hubs hinweg in einem Namespace das Einheitenkontingent für den aggregierten Durchsatz überschreitet, werden Empfänger gedrosselt. Es werden jedoch keine Fehlermeldungen generiert.
Eingangs-und Ausgangskontingente werden separat durchgesetzt, sodass kein Absender die Verlangsamung der Nutzung herbeiführen kann und kein Empfänger verhindern kann, dass Ereignisse an einen Event Hub gesendet werden.
Gibt es eine Beschränkung für die Anzahl der Durchsatzeinheiten, die reserviert und ausgewählt werden können?
Wenn Sie im Azure-Portal einen Namespace im Basic- oder Standard-Tarif erstellen, können Sie bis zu 40 TUs (Durchsatzeinheiten) für den Namespace auswählen. Über 40 TUs hinaus bietet Event Hubs die ressourcen-/kapazitätsbasierten Modelle wie Event Hubs Premium- und Event Hubs Dedicated-Cluster. Weitere Informationen finden Sie unter Übersicht über Event Hubs Premium (Vorschauversion) und Übersicht über Event Hubs Dedicated.
Dedicated-Cluster
Was ist ein dedizierter Cluster?
Event Hubs Dedicated-Cluster bieten Bereitstellungen mit einem Mandanten für Kunden mit äußerst anspruchsvollen Anforderungen. Bei diesem Angebot wird ein kapazitätsbasierter Cluster erstellt, der nicht durch Durchsatzeinheiten gebunden ist. Das heißt, dass Sie den Cluster verwenden können, um Daten nach Vorgabe von CPU und Speicherauslastung des Clusters zu erfassen und zu streamen. Weitere Informationen finden Sie unter Event Hubs Dedicated-Cluster.
Wie erstelle ich einen Event Hubs Dedicated-Cluster?
Schrittanleitungen und weitere Informationen zum Einrichten eines Event Hubs Dedicated-Clusters finden Sie im Schnellstart: Erstellen eines Event Hubs Dedicated-Clusters mithilfe des Azure-Portals.
Was kann ich mit einem Cluster erreichen?
Welche Datenmengen Sie bei einem Event Hubs-Cluster erfassen und streamen können, hängt von verschiedenen Faktoren ab, z. B. von den Producern, den Consumern und der Rate für die Erfassung und Verarbeitung.
In der folgenden Tabelle sind die Benchmarkergebnisse aufgeführt, die beim Testen mit einem Dedicated-Legacycluster erreicht wurden.
Form der Nutzlast | Empfänger | Eingangsbandbreite | Eingangsnachrichten | Ausgangsbandbreite | Ausgangsnachrichten | TUs gesamt | TUs pro CU |
---|---|---|---|---|---|---|---|
Batches von 100 x 1 KB | 2 | 400 MB/s | 400T Nachrichten/Sek. | 800 MB/s | 800T Nachrichten/Sek. | 400 TUs | 100 TUs |
Batches von 10 x 10 KB | 2 | 666 MB/s | 66,6T Nachrichten/Sek. | 1,33 GB/s | 133T Nachrichten/Sek. | 666 TUs | 166 TUs |
Batches von 6 x 32 KB | 1 | 1,05 GB/s | 34T Nachrichten/Sek. | 1,05 GB/s | 34T Nachrichten/Sek. | 1.000 TUs | 250 TUs |
Bei den Tests wurden folgende Kriterien verwendet:
- Es wurde ein Event Hubs-Cluster mit dem Tarif „Dedicated“ mit vier CUs verwendet.
- Der für die Erfassung verwendete Event Hub umfasste 200 Partitionen.
- Die erfassten und von allen Partitionen eingehenden Daten wurden von zwei Empfängeranwendungen empfangen.
Kann ich meinen Cluster hoch- oder herunterskalieren?
Wenn Sie den Cluster mit festgelegter Option Skalierung unterstützen erstellen, können Sie die Self-Service-Funktionalität nutzen, um je nach Bedarf auf- oder abzuskalieren. Mithilfe nach dem Self-Service-Prinzip skalierbarer Cluster können Sie auf bis zu 10 CUs hochskalieren. Da nach dem Self-Service-Prinzip skalierbare Dedicated-Cluster auf einer neuen Infrastruktur basieren, bieten sie eine bessere Leistung als Dedicated-Cluster ohne Unterstützung der Skalierung nach dem Self-Service-Prinzip. Die Leistung von Dedicated-Clustern hängt von Faktoren wie Ressourcenzuordnung, Anzahl der Partitionen und Speicher ab. Es wird empfohlen, die erforderliche Anzahl von CUs nach dem Testen mit einer echten Workload zu ermitteln.
Übermitteln Sie eine Supportanfrage, um in den folgenden Szenarios in Ihrem Dedicated-Cluster auf- oder abzuskalieren:
- Sie benötigen mehr als 10 CUs für einen nach dem Self-Service-Prinzip skalierbaren dedizierten Cluster (ein Cluster, der mit der festgelegten Option Skalierung unterstützen erstellt wurde).
- Sie müssen in einem Cluster auf- oder abskalieren, der ohne Auswählen der Option Skalierung unterstützen erstellt wurde.
- Sie müssen in einem Dedicated-Cluster eine Auf- oder Abskalierung vornehmen, der vor Veröffentlichung der Self-Service-Funktionalität erstellt wurde.
Warnung
Sie können den Cluster frühestens vier Stunden nach seiner Erstellung löschen. Ihnen werden mindestens 4 Stunden Nutzung des Clusters in Rechnung gestellt. Weitere Informationen zu Preisen finden Sie unter Event Hubs-Preise.
Kann ich von einem Legacycluster zu einem nach dem Self-Service-Prinzip skalierbaren Cluster migrieren?
Aufgrund der Unterschiede in der zugrundeliegenden Hardware- und Softwareinfrastruktur wird derzeit keine Migration von Clustern ohne Unterstützung der Self-Service-Skalierung auf Dedicated-Cluster mit Self-Service-Skalierung unterstützt. Wenn Sie die Self-Service-Skalierung verwenden möchten, müssen Sie den Cluster neu erstellen. Informationen zum Erstellen eines skalierbaren Clusters finden Sie unter Erstellen eines Event Hubs Dedicated-Clusters.
Wann sollte ich meinen Dedicated-Cluster skalieren?
Die CPU-Auslastung ist der Schlüsselindikator für den Ressourcenverbrauch Ihres dedizierten Clusters. Wenn der gesamte CPU-Verbrauch langsam 70 % erreicht, ohne dass ungewöhnliche Bedingungen wie eine hohe Anzahl von Serverfehlern oder eine niedrige Anzahl erfolgreicher Anforderungen zu beobachten sind, bedeutet dies, dass sich Ihr Cluster seiner maximalen Kapazität nähert. Daher können Sie diese Informationen als Indikator dafür heranziehen, ob Sie Ihren Dedicated-Cluster hochskalieren müssen.
Zum Überwachen des CPU-Verbrauchs des Dedicated-Clusters, folgen Sie diesen Schritten:
Wählen Sie auf der Seite Metriken Ihres Event Hubs Dedicated-Clusters die Option Metrik hinzufügen aus.
Wählen Sie CPU als Metrik aus, und verwenden Sie Max als Aggregation.
Wählen Sie Filter hinzufügen aus, und fügen Sie einen Filter für den Eigenschaft-Typ Rolle hinzu. Verwenden Sie den Gleichheitsoperator, und wählen Sie alle Werte (Back-End und Gateway) aus der Dropdownliste aus.
Anschließend können Sie diese Metrik überwachen, um zu bestimmen, wann Sie Ihren dedizierten Cluster skalieren sollten. Sie können auch Warnungen für diese Metrik einrichten, um benachrichtigt zu werden, wenn die CPU-Auslastung die von Ihnen festgelegten Schwellenwerte erreicht.
Wie funktioniert die georedundante Notfallwiederherstellung mit meinem Cluster?
Sie können einen Namespace unter einem Cluster des Dedicated-Tarifs geografisch mit einem anderen Namespace unter einem Cluster des Dedicated-Tarifs koppeln. Es wird nicht empfohlen, einen Namespace des Tarifs „Dedicated“ mit einem Namespace des Standard-Tarifs zu koppeln, da das Durchsatzlimit inkompatibel ist und zu Fehlern führt.
Kann ich meine Standard- oder Premium-Namespaces in einen Cluster mit dem Tarif „Dedicated“ migrieren?
Zurzeit wird kein automatisierter Migrationsprozess für die Migration Ihrer Event Hubs-Daten aus einem Standard- oder Premium-Namespace zu einem Namespace mit dem Tarif „Dedicated“ unterstützt.
Warum verfügt ein zonenredundanter dedizierter Legacycluster über mindestens acht CUs?
Um die Zonenredundanz für das Dedicated-Angebot bereitzustellen, müssen alle Computeressourcen über 3 Replikate in 3 Rechenzentren in derselben Region verfügen. Diese Mindestanforderung unterstützt die Zonenredundanz, sodass der Dienst auch dann noch funktioniert, wenn 2 Zonen oder Datenzentren ausfallen, und ergibt eine Computekapazität, die 8 CUs entspricht.
Dieses Kontingent kann nicht geändert werden. Es handelt sich um eine Einschränkung der aktuellen Architektur mit einem Dedicated-Tarif.
Partitionen
Wie viele Partitionen benötige ich?
Eine Partition ist ein Mechanismus für die Datenstrukturierung, mit dem Sie Daten parallel veröffentlichen und nutzen können. Daher empfiehlt es sich, ein ausgewogenes Verhältnis zwischen Skalierungseinheiten (Durchsatzeinheiten für die Standardebene, Verarbeitungseinheiten für die Premium-Ebene oder Kapazitätseinheiten für die dedizierte Ebene) und Partitionen anzustreben, um eine optimale Dimensionierung zu erzielen. Im Allgemeinen wird ein maximaler Durchsatz von 1 MB/s pro Partition empfohlen. Eine Faustregel für die Berechnung der Anzahl der Partitionen wäre daher, den maximal erwarteten Durchsatz durch 1 MB/s zu teilen. Wenn Ihr Anwendungsfall beispielsweise 20 MB/s erfordert, wird empfohlen, mindestens 20 Partitionen zu verwenden, um einen optimalen Durchsatz zu erreichen.
Wenn Sie jedoch über ein Modell verfügen, in dem die Anwendung eine bestimmte Partition bevorzugt, ist eine höhere Anzahl von Partitionen nicht von Vorteil. Weitere Informationen finden Sie unter Verfügbarkeit und Konsistenz.
Kann die Partitionsanzahl in der Standardebene von Event Hubs erhöht werden?
Nein, es ist nicht möglich, da Partitionen in der Standardebene unveränderlich sind. Dynamische Hinzufügungen von Partitionen sind nur in den Tarifen „Premium“ und „Dedicated“ von Event Hubs verfügbar.
Preiskalkulation
Wo finde ich weitere Preisinformationen?
Umfassende Informationen zu den Preisen von Event Hubs finden Sie unter Event Hubs – Preisübersicht.
Gibt es eine Gebühr für die Beibehaltung von Event Hubs-Ereignissen für mehr als 24 Stunden?
Der Standard-Tarif für Event Hubs ermöglicht eine Aufbewahrung von Nachrichten länger als 24 Stunden, maximal 7 Tage. Wenn die Größe der Gesamtanzahl der gespeicherten Ereignisse das Speicherkontingent für die Anzahl der ausgewählten Durchsatzeinheiten (84 GB pro Durchsatzeinheit) überschreitet, wird die überschrittene Größe zur veröffentlichten Rate für den Azure Blob Storage in Rechnung gestellt. Das Speicherkontingent in allen Durchsatzeinheiten deckt alle Speicherkosten für die Aufbewahrungsdauer von 24 Stunden, selbst, wenn die Durchsatzeinheit bis zum maximal erlaubten Eingang verbraucht ist.
Wie wird die Event Hubs-Speichergröße berechnet und in Rechnung gestellt?
Die Gesamtgröße aller gespeicherten Ereignisse, einschließlich des gesamten internen Mehraufwands für Ereignisheader oder Speicherstrukturen auf Datenträgern in allen Event Hubs, wird im Laufe des Tages gemessen. Am Ende des Tages wird die maximale Speichergröße berechnet. Das tägliche Speicherkontingent wird auf Grundlage der Mindestanzahl der Durchsatzeinheiten berechnet, die im Laufe des Tages ausgewählt wurden (jede Durchsatzeinheit bietet ein Kontingent von 84 GB). Wenn die Gesamtgröße das berechnete tägliche Speicherkontingent überschreitet, wird der überschüssige Speicher zu Azure Blob Storage-Sätzen in Rechnung gestellt (mit der Rate lokal redundanter Speicher).
Wie werden Eingangsereignisse berechnet?
Jedes an einen Event Hub gesendete Ereignis wird als abrechenbare Nachricht gezählt. Ein Eingangsereignis ist als eine Dateneinheit definiert, die kleiner oder gleich 64 KB ist. Jedes Ereignis, das kleiner als oder gleich 64 KB ist, gilt als kostenpflichtig. Wenn das Ereignis größer als 64 KB ist, wird die Anzahl der abzurechnenden Ereignisse gemäß der Ereignisgröße in Vielfachen von 64 KB berechnet. Beispielsweise wird ein an einen Event Hub gesendetes 8-KB-Ereignis als ein Ereignis abgerechnet, aber eine Nachricht mit einer Größe von 96 KB, die an den Event Hub gesendet wird, wird als zwei Ereignisse in Rechnung gestellt.
Von einem Event Hub genutzte Ereignisse sowie Verwaltungsvorgänge und Kontrollaufrufe wie etwa Checkpoints werden nicht als abzurechnende Eingangsereignisse gezählt, sondern bis zur erlaubten Durchsatzeinheit angesammelt.
Gelten vermittelte Verbindungsgebühren für Event Hubs?
Verbindungsgebühren fallen nur an, wenn das AMQP-Protokoll verwendet wird. Es gibt keine Verbindungsgebühren für das Senden von Ereignissen über HTTP, unabhängig von der Anzahl der sendenden Systeme oder Geräte. Wenn Sie AMQP verwenden möchten (z.B. um effizienteres Ereignisstreaming zu erreichen oder bidirektionale Kommunikation in Befehls- und Steuerungsszenarios von IoT zu ermöglichen), lesen Sie sich bitte die Seite Event Hubs Preise durch, um Näheres darüber zu erfahren, wie viele Verbindungen in jeder Dienstebene enthalten sind.
Wie erfolgt die Abrechnung für Event Hubs Capture?
Capture wird aktiviert, wenn für eine Event Hub-Instanz im Namespace die Capture-Option aktiviert wird. Event Hubs Capture wird monatlich pro erworbener Durchsatzeinheit abgerechnet. Wenn die Anzahl von Durchsatzeinheiten erhöht oder verringert wird, werden diese Änderungen bei der Abrechnung für Event Hubs Capture in Schritten ganzer Stunden übernommen. Weitere Informationen zur Abrechnung von Event Hubs Capture finden Sie unter Event Hubs Preise.
Werden Speichergebühren für das für Event Hubs Capture ausgewählte Speicherkonto abgerechnet?
Capture verwendet ein Speicherkonto, das Sie angeben, wenn es auf einem Event Hub aktiviert ist. Da es sich um Ihr Speicherkonto handelt, werden alle Änderungen an dieser Konfiguration über Ihr Azure-Abonnement abgerechnet.
Kontingente
Sind Event Hubs bestimmte Kontingente zugeordnet?
Eine Liste aller Kontingente für Event Hubs finden Sie unter Event Hubs-Kontingente.
Problembehandlung
Warum kann ich keinen Namespace erstellen, nachdem ich ihn aus einem anderen Abonnement gelöscht habe?
Wenn Sie einen Namespace aus einem Abonnement löschen, warten Sie vier Stunden, bevor Sie ihn mit dem gleichen Namen in einem anderen Abonnement erstellen. Sie erhalten andernfalls unter Umständen die folgende Fehlermeldung: Namespace already exists
.
Welche Beispiele gibt es für Ausnahmen, die von Event Hubs generiert werden, und die vorgeschlagenen Aktionen?
Eine Liste der möglichen Event Hubs-Ausnahmen finden Sie unter Event Hubs-Messagingausnahmen.
Diagnoseprotokolle
Event Hubs unterstützt zwei Arten von Diagnoseprotokollen: Erfassungsfehlerprotokolle und Betriebsprotokolle. Beide werden im JSON-Format dargestellt und können über das Azure-Portal aktiviert werden.
Support und SLA
Technischer Support für Event Hubs steht über die Seite mit häufig gestellten Fragen zu Azure Service Bus von Microsoft zur Verfügung. Der Support für die Abrechnungs- und Abonnementverwaltung wird kostenlos bereitgestellt.
Weitere Informationen zu unserem SLA finden Sie auf der Seite Vereinbarungen zum Servicelevel .
Azure Stack Hub
Wie kann ich eine bestimmte Version des Azure Storage SDK als Ziel angeben, wenn ich Azure Blob Storage als Prüfpunktspeicher verwende?
Wenn Sie diesen Code in Azure Stack Hub ausführen, treten Laufzeitfehler auf, es sei denn, Sie verwenden eine bestimmte Storage-API-Version als Ziel. Dies liegt daran, dass das Event Hubs SDK die neueste verfügbare Azure Storage API verwendet, die in Azure verfügbar ist und auf Ihrer Azure Stack Hub-Plattform möglicherweise nicht verfügbar ist. Azure Stack Hub unterstützt möglicherweise eine andere Storage Blob SDK-Version als die üblicherweise in Azure verfügbaren SDKs. Wenn Sie Azure Blob Storage als Prüfpunktspeicher verwenden, überprüfen Sie die unterstützte Azure Storage-API-Version für Ihren Azure Stack Hub-Build, und verwenden Sie diese Version im Code als Ziel.
Wenn Sie z. B. die Azure Stack Hub-Version 2005 verwenden, ist die Version 2019-02-02 die höchste verfügbare Version für den Storage-Dienst. Standardmäßig verwendet die Clientbibliothek des Event Hubs SDK die höchste verfügbare Version in Azure (2019-07-07 zum Zeitpunkt der Veröffentlichung des SDK). In diesem Fall müssen Sie neben den folgenden Schritten in diesem Abschnitt auch Code für die API-Version 2019-02-02 des Storage-Diensts hinzufügen. Ein Beispiel für die Verwendung einer bestimmten Storage-API-Version als Ziel finden Sie in den folgenden Beispielen für C#, Java, Python und JavaScript/TypeScript.
Ein Beispiel für die Verwendung einer bestimmten Storage-API-Version als Ziel aus Ihrem Code finden Sie in den folgenden Beispielen auf GitHub:
- .NET
- Java
- Python: Synchron, asynchron
- JavaScript und TypeScript
Nächste Schritte
Weitere Informationen zu Event Hubs finden Sie unter den folgenden Links: