Share via


Mehrinstanzenfähigkeit und Azure Event Hubs

Event Hubs ist eine Big Data-Streamingplattform und ein Ereigniserfassungsdienst, der Millionen von Ereignissen pro Sekunde empfangen und verarbeiten kann. Der Dienst kann Event Hub-Daten über Echtzeitanalyseanbieter und über Batchverarbeitungs-/Speicheradapter transformieren und speichern. Eine Gegenüberstellung von Event Hubs und anderen Azure-Messagingdiensten finden Sie unter Auswahl von Azure-Messagingdiensten: Event Grid, Event Hubs und Service Bus.

In diesem Artikel werden Event Hubs-Features und Isolationsmodelle beschrieben, die Sie in mehrinstanzenfähigen Lösungen verwenden können.

Isolationsmodelle

Wenn Sie Event Hubs in Ihrem mehrinstanzenfähigen System nutzen, müssen Sie die gewünschte Isolationsstufe festlegen. Event Hubs unterstützt verschiedene Modelle der Mehrinstanzenfähigkeit:

  • Vertrauenswürdige Mehrinstanzenfähigkeit: Alle Mandanten teilen sich einen Event Hubs-Namespace. Diese Option kann geeignet sein, wenn sich alle Mandanten in Ihrer Organisation befinden.
  • Feindselige Mehrinstanzenfähigkeit: Jeder Mandant verfügt über einen eigenen Namespace ohne gemeinsame Nutzung. Diese Option kann geeignet sein, wenn Sie sicherstellen möchten, dass Ihre Mandanten keine Probleme mit einem Noisy Neighbor haben.

Ein System kann beide Modelle implementieren: Manche Mandanten teilen sich Namespaces, andere verfügen über einen dedizierten Namespace. Außerdem kann sich ein Mandant einen Namespace mit anderen Mandanten teilen, aber über dedizierte Event Hubs verfügen.

In der folgenden Tabelle werden die Unterschiede der wichtigsten Mandantenisolationsmodelle für Event Hubs erläutert. Diese Modelle werden in den nachfolgenden Abschnitten ausführlicher beschrieben.

Aspekt Dedizierter Namespace Gemeinsamer Namespace, dedizierte Event Hubs Gemeinsamer Namespace und gemeinsame Event Hubs
Datenisolation High Medium Keine
Leistungsisolation Maximal. Bereitstellung der erforderlichen Leistung basierend auf den Anforderungen des jeweiligen Mandanten. Mittel. Mögliche Noisy Neighbor-Probleme. Niedrig. Mögliche Noisy Neighbor-Probleme.
Bereitstellungskomplexität Mittel. Beachten Sie die Kontingente und Grenzwerte in Azure Event Hubs auf Abonnementebene. Mittel. Für die einzelnen Mandanten müssen jeweils separate Nachrichtenentitäten bereitgestellt werden. Beachten Sie die Kontingente und Grenzwerte in Azure Event Hubs. In einigen Fällen sind je nach Mandantenanzahl mehrere Namespaces erforderlich. Niedrig
Komplexität des Betriebs Hoch. Mandantenspezifische Verwaltung von Namespaces erforderlich. Mittel. Einige Mandanten erfordern eine präzise Verwaltung von Nachrichtenentitäten. Niedrig
Beispielszenario Separate Anwendungsinstanzen pro Mandant Dedizierte Event Hubs für jeden Mandanten. Umfangreiche mehrinstanzenfähige Lösung mit einer gemeinsamen Anwendungsebene und mindestens einem gemeinsamen Event Hub

Hinweis

Event Hubs für Apache Kafka ist ein Feature, das einen auf Event Hubs basierenden Protokollkopf bereitstellt, sodass Event Hubs von Apache Kafka-Anwendungen verwendet werden kann. Die Anwendungen streamen Ereignisse an Event Hubs, die Kafka-Themen entsprechen. Weitere Informationen finden Sie unter Worum handelt es sich bei Azure Event Hubs für Apache Kafka?.

Dedizierter Namespace

In diesem Modell wird ein Event Hubs-Namespace für jeden Mandanten bereitgestellt. Dieser Ansatz bietet die höchstmögliche Isolationsstufe und ermöglicht es, eine akzeptable Leistung für alle Mandanten bereitzustellen.

Mit den folgenden Techniken können Sie die Ereignisfunktionen optimieren, um die Mandantenanforderungen zu erfüllen:

Wenn Sie die maximale Anzahl von Event Hubs-Namespaces in Ihrem Azure-Abonnement erreichen, können Sie über das Muster mit Bereitstellungsstempeln Namespaces in anderen Abonnements bereitstellen.

Der Nachteil dieses Isolationsmodells ist, dass die Namespaceverwaltung mit zunehmender Anzahl von Mandanten immer komplexer wird. Ein weiterer Nachteil ist, dass das Modell die Kosten erhöht, da für jeden Namespace Kosten entstehen.

Gemeinsamer Namespace, dedizierte Event Hubs

Auch wenn sich mehrere Mandanten einen Namespace teilen, können Mandanten in einem dedizierten Event Hub isoliert werden. Sie können gemeinsame Zugriffssignaturen oder Microsoft Entra-Identitäten verwenden, um den Zugriff zu steuern.

Mit zunehmender Anzahl von Mandanten in Ihrem System erhöht sich auch die Anzahl von Event Hubs, um die einzelnen Mandanten abzudecken. Diese Zunahme kann zu höheren Betriebskosten führen und die Flexibilität der Organisation beeinträchtigen. Die Anzahl von Event Hubs pro Namespace ist begrenzt. Daher hängt die Anzahl von Namespaces, die Ihr System benötigt, von der Anzahl von Event Hubs ab, die Ihre Mandanten benötigen.

Wenn ein Namespace gemeinsam genutzt wird, sind Probleme mit einem Noisy Neighbor wahrscheinlicher. So kann es beispielsweise vorkommen, dass die Ereignisentitäten eines Mandanten unverhältnismäßig viele Namespaceressourcen beanspruchen, was zur Beeinträchtigung der anderen Mandanten führt. Die Verarbeitungseinheiten (Premium-Tarif) oder Kapazitätseinheiten (Dedicated-Tarif) und die Anzahl vermittelter Verbindungen mit einem Namespace sind bei Event Hub-Namespaces begrenzt. Überlegen Sie, ob ein einzelner Mandant möglicherweise zu viele Ressourcen beansprucht.

Gemeinsamer Namespace und gemeinsame Event Hubs

Sie können über einen Namespace und über Ereignisentitäten verfügen, die von allen Ihren Mandanten gemeinsam genutzt werden. Dieses Modell verringert die Betriebskomplexität und senkt die Ressourcenkosten.

Die Verwendung eines gemeinsamen Namespace kann jedoch zu einem Problem mit einem Noisy Neighbor sowie zu längeren Wartezeiten für einige Mandanten führen. Außerdem müssen Sie Ihre Anwendungen so implementieren, dass sie mehrere Mandanten versorgen. Gemeinsame Event Hubs und Kafka-Themen bieten keine Datenisolation zwischen Mandanten, sodass Sie die Anforderungen an die Datenisolation über Ihre Anwendungslogik erfüllen müssen.

Hinweis

Verwenden Sie keine Event Hubs-Partitionen, um Ihre Mandanten zu isolieren. Die Partitionierung in Event Hubs ermöglicht die Verarbeitung von Ereignissen und sorgt für Skalierbarkeit, ist aber kein Isolationsmodell. Sie können Ereignisse direkt an Partitionen senden. Dies wird jedoch nicht empfohlen, da sich die Verfügbarkeit eines Event Hubs auf die Partitionsebene verringert. Weitere Informationen finden Sie unter Verfügbarkeit und Konsistenz in Event Hubs.

Features von Event Hubs, die Mehrinstanzenfähigkeit unterstützen

Die folgenden Features von Event Hubs unterstützen Mehrinstanzenfähigkeit:

Diese Features werden in den folgenden Abschnitten näher erläutert.

Anwendungsgruppen

Eine Anwendungsgruppe ist eine Sammlung einer oder mehrerer Clientanwendungen, die mit der Datenebene von Event Hubs interagieren. Sie können Kontingent- und Zugriffsverwaltungsrichtlinien auf alle Anwendungen in der Gruppe anwenden, indem Sie sie auf die Gruppe anwenden.

Jede Anwendungsgruppe kann auf einen einzelnen Event Hubs-Namespace oder auf einen einzelnen Event Hub zugeschnitten werden. Es sollte einen eindeutig identifizierenden Bedingungsidentifikator der Client-Anwendungen verwenden, wie beispielsweise den Sicherheitskontext, der entweder eine gemeinsame Zugriffssignatur (SAS) oder eine Microsoft Entra-Anwendungs-ID ist.

Weitere Informationen finden Sie unter Ressourcengovernance mit Anwendungsgruppen.

Microsoft Entra-Authentifizierung

Event Hubs ist in Microsoft Entra ID integriert. Clients können sich bei Event Hubs-Ressourcen authentifizieren, indem sie eine verwaltete Identität mit Microsoft Entra ID verwenden. Event Hubs definiert mehrere integrierte Rollen, die Sie Ihren Mandanten für den Zugriff auf Event Hubs-Entitäten zuweisen können. Mit der Microsoft Entra-Authentifizierung können Sie zum Beispiel einem Mandanten Zugriff auf einen Event Hub gewähren, der die Nachrichten für diesen Mandanten enthält. Auf diese Weise können Sie einen Mandanten von anderen Mandanten isolieren.

Kafka-Anwendungen können eine mit OAuth verwaltete Identität verwenden, um auf Event Hubs-Ressourcen zuzugreifen.

Weitere Informationen finden Sie in den folgenden Artikeln:

Shared Access Signature (SAS)

Shared Access Signatures (SAS) ermöglichen es Ihnen, einem Mandanten Zugriff mit bestimmten Rechten auf Event Hubs-Ressourcen zu gewähren. Wenn Sie Ihre Mandanten auf Ereignisentitätsebene isolieren, können Sie SAS-Schlüssel für einen Event Hub oder für ein Thema zuweisen, der bzw. das nur für einen bestimmten Mandanten gilt.

Weitere Informationen finden Sie unter Authentifizieren des Zugriffs auf Event Hubs-Ressourcen mit Shared Access Signatures (SAS).

Vom Kunden verwaltete Schlüssel

Für den Fall, dass Ihre Mandanten eigene Schlüssel zum Verschlüsseln und Entschlüsseln von Ereignissen benötigen, können in einigen Versionen von Event Hubs kundenseitig verwaltete Schlüssel konfiguriert werden.

Für dieses Feature muss das Isolationsmodell Dedizierter Namespace verwendet werden. Die Verschlüsselung kann nur für neue oder leere Namespaces aktiviert werden.

Weitere Informationen finden Sie unter Konfigurieren von kundenseitig verwalteten Schlüsseln für die Verschlüsselung von ruhenden Azure Event Hubs-Daten.

Event Hubs Capture

Mit dem Event Hubs Capture-Feature können automatisch Streamingdaten aus Event Hubs erfasst und in einem Azure Blob Storage- oder Data Lake Storage-Konto gespeichert werden.

Diese Funktion ist für die Archivierung von Ereignissen hilfreich. Wenn Sie beispielsweise aus Compliancegründen Ereignisse für einen Mandanten archivieren müssen, können Sie mandantenspezifische Namespaces bereitstellen und Event Hubs Capture aktivieren, um Ereignisse in mandantenspezifischen Azure Storage-Konten zu archivieren. Event Hubs Capture kann auch für mandantenspezifische Event Hubs in einem gemeinsamen Namespace aktiviert werden.

Weitere Informationen finden Sie unter Erfassen von Ereignissen über Azure Event Hubs in Azure Blob Storage oder Azure Data Lake Storage.

Georedundante Notfallwiederherstellung

Die georedundante Notfallwiederherstellung repliziert kontinuierlich die gesamte Konfiguration eines Event Hubs-Namespaces aus einem primären Namespace in einem sekundären Namespace, der mit dem primären Namespace gekoppelt ist. Dieses Feature kann bei der Wiederherstellung nach Notfällen wie einem regionalen Ausfall hilfreich sein.

Wenn Sie beispielsweise Ihre Mandanten auf Namespaceebene isolieren, können Sie die Konfiguration eines Mandantennamespace in einer sekundären Region replizieren, um sie vor Ausfällen und Fehlern der primären Region zu schützen.

Weitere Informationen finden Sie unter Azure Event Hubs: Georedundante Notfallwiederherstellung.

Hinweis

Um Betriebskontinuität zu gewährleisten, repliziert die georedundante Notfallwiederherstellung die Konfiguration des primären Namespace im sekundären Namespace. Es repliziert weder die Ereignisdaten noch die Microsoft Entra RBAC-Zuweisungen, die Sie für Ihren primären Namespace verwenden. Weitere Informationen finden Sie unter Verbund: mehrere Standorte und mehrere Regionen.

IP-Firewallregeln

Sie können IP-Firewallregeln verwenden, um den Zugriff auf Namespaces zu steuern. Wenn Sie Mandanten auf Namespaceebene isolieren, können Sie die Namespaces so konfigurieren, dass nur Verbindungen von Clients akzeptiert werden, die von zulässigen IP-Adressen oder aus zulässigen Adressbereichen stammen.

Weitere Informationen finden Sie unter

Beitragende

Dieser Artikel wird von Microsoft gepflegt. Er wurde ursprünglich von folgenden Mitwirkenden geschrieben:

Hauptautor:

  • Will Velida | Customer Engineer 2, FastTrack for Azure

Andere Mitwirkende:

Melden Sie sich bei LinkedIn an, um nicht öffentliche LinkedIn-Profile anzuzeigen.

Nächste Schritte