Verketten von Service Bus-Entitäten mit automatischer Weiterleitung

Mit dem Service Bus-Feature Automatische Weiterleitung können Sie eine Warteschlange oder ein Abonnement mit einer weiteren Warteschlange oder einem Thema aus dem selben Namespace verketten. Wenn die automatische Weiterleitung aktiviert ist, entfernt Service Bus die Nachrichten automatisch, die in der ersten Warteschlange oder dem Abonnement (Quelle) platziert wurden, und fügt sie in die zweite Warteschlange oder das Thema (Ziel) ein. Es ist weiterhin möglich, eine Nachricht direkt an die Zielentität zu senden.

Hinweis

Der Basic-Tarif von Service Bus unterstützt die automatische Weiterleitung nicht. Informationen zu den Unterschieden zwischen Tarifen finden Sie unter Service Bus-Preise.

Die Zielentität muss vorhanden sein, wenn die Quellentität erstellt wird. Wenn die Zielentität nicht vorhanden ist, gibt Service Bus eine Ausnahme zurück, wenn die Quellentität erstellt werden soll.

Szenarien

Individuelle Themen skalieren

Sie können die automatische Weiterleitung zum Aufskalieren eines einzelnen Themas verwenden. Service Bus beschränkt die Anzahl von Abonnements für ein bestimmtes Thema auf 2.000. Sie können weitere Abonnements durch Erstellen von Themen der zweiten Ebene aufnehmen. Selbst wenn Sie nicht durch die Service Bus-Beschränkung für die Anzahl der Abonnements gebunden sind, kann das Hinzufügen einer zweiten Ebene von Themen den Gesamtdurchsatz Ihres Themas verbessern.

Abbildung eines Szenarios mit automatischer Weiterleitung, die eine Nachricht zeigt, die durch ein Auftragsthema verarbeitet wird, das zu einem von drei Auftragsthemen der zweiten Ebene verzweigt werden kann.

Entkoppeln Sie Nachrichtenabsender und -empfänger

Sie können die automatische Weiterleitung auch verwenden, um Nachrichtenabsender von den Empfängern zu entkoppeln. Betrachten Sie z. B. ein Enterprise Resource Planning (ERP)-System, das aus drei Modulen besteht: Auftragsverarbeitung, Bestandsverwaltung und Kundenbeziehungsmanagement. Jedes dieser Module generiert Nachrichten, die in ein entsprechendes Thema aufgenommen werden. Alice und Bob sind Vertriebsmitarbeiter, die an allen Nachrichten interessiert sind, die sich auf ihre Kunden beziehen. Zum Empfangen dieser Nachrichten erstellen Alice und Bob eine persönliche Warteschlange und ein Abonnement für jedes der ERP-Themen, das automatisch alle Nachrichten an ihre Warteschlange weiterleitet.

Abbildung eines Szenarios mit automatischer Weiterleitung, in dem drei Verarbeitungsmodule Nachrichten über drei entsprechende Themen an zwei separate Warteschlangen senden.

Wenn Alice im Urlaub ist, wird ihre persönliche Warteschlange gefüllt, nicht das ERP-Thema. Da in diesem Szenario kein Vertriebsmitarbeiter Nachrichten empfangen hat, erreicht keines der ERP-Themen je das Kontingent.

Hinweis

Wenn die automatische Weiterleitung eingerichtet ist, wird der Wert für AutoDeleteOnIdle für die Quellentität automatisch auf den Maximalwert des Datentyps festgelegt.

  • Auf der Quellseite fungiert die automatische Weiterleitung als Empfangsvorgang. Daher befindet sich die Quelle, für die die automatische Weiterleitung aktiviert ist, nie wirklich im Leerlauf und wird daher nicht automatisch gelöscht.
  • Die automatische Weiterleitung nimmt keine Änderungen an der Zielentität vor. Wenn AutoDeleteOnIdle für die Zielentität aktiviert ist, wird die Entität automatisch gelöscht, sobald sie für das angegebene Leerlaufintervall inaktiv ist. Von der Aktivierung von AutoDeleteOnIdle für die Zielentität wird abgeraten, denn beim Löschen der Zielentität werden der Quellentität beim Weiterleiten von Nachrichten an dieses Ziel ständig Ausnahmen angezeigt.

Überlegungen bei der automatischen Weiterleitung

  • Service Bus lässt das Erstellen eines Nachrichtenempfängers auf einer Quellentität, auf der die automatische Weiterleitung aktiviert ist, nicht zu.
  • Wenn die Zielentität zu viele Nachrichten gesammelt hat und das Kontingent überschreitet oder wenn die Zielentität deaktiviert ist, fügt die Quellentität die Nachrichten zur eigenen Warteschlange für unzustellbare Nachrichten hinzu, bis Speicherplatz im Ziel vorhanden ist (oder die Entität wieder aktiviert wird). Diese Nachrichten sind weiterhin in der Warteschlange für unzustellbare Nachrichten aktiv, daher müssen Sie sie explizit aus der Warteschlange für unzustellbare Nachrichten empfangen und verarbeiten.
  • Beim Verketteten einzelner Themen, um ein kombiniertes Thema mit vielen Abonnements zu erhalten, wird empfohlen, dass Sie eine moderate Anzahl von Abonnements für das Thema der ersten Ebene und viele Abonnements für Themen der zweiten Ebene nutzen. Beispiel: Ein Thema der ersten Ebene mit 20 Abonnements, von denen jedes mit einem Thema der zweiten Ebene mit 200 Abonnements verkettet ist, ermöglicht einen höheren Durchsatz als ein Thema der ersten Ebene mit 200 Abonnements, von denen jedes mit einem Thema der zweiten Ebene mit 20 Abonnements verkettet ist.
  • Service Bus rechnet einen Vorgang für jede weitergeleitete Nachricht ab. Beispiel: Das Senden einer Nachricht an ein Thema mit 20 Abonnements, von denen jedes so konfiguriert ist, dass Nachrichten automatisch an eine andere Warteschlange oder ein Thema weitergeleitet werden, wird als 21 Vorgänge abgerechnet, wenn alle Abonnements der ersten Ebene eine Kopie der Nachricht erhalten.
  • Um ein Abonnement zu erstellen, das mit einer anderen Warteschlange oder einem Thema verkettet ist, muss der Ersteller des Abonnements über die Berechtigung Verwalten für die Quell- und die Zielentität verfügen. Das Senden von Nachrichten an das Quellthema erfordert nur die Berechtigung Senden für das Quellthema.
  • Erstellen Sie keine Kette, die vier Hops überschreitet. Nachrichten, die vier Hops überschreiten, sind unzustellbar. Der Hop Count einer Nachricht wird erhöht, wenn eine Nachricht automatisch von einer Warteschlange oder einem Thema an eine andere Warteschlange oder ein anderes Thema weitergeleitet wird. Der Hop Count einer Nachricht kann auch im Szenario Senden über erhöht werden, bei dem eine Nachricht über eine Transfer-Warteschlange gesendet wird.
  • Automatische Weiterleitung wird für sitzungsfähige Warteschlangen oder Abonnements nicht unterstützt.
  • Die Quellwarteschlange versucht, die Nachrichten in der gleichen Reihenfolge, in der sie empfangen wurden, an die Zielentität weiterzuleiten, aber das Ziel kann ein Thema sein, das keine Sortierung unterstützt. Wenn es sich bei der Quell- oder Zielentität um eine partitionierte Entität handelt, ist die Reihenfolge nicht garantiert.

Nächste Schritte

Um zu erfahren, wie Sie automatische Weiterleitung auf unterschiedliche Weise aktivieren oder deaktivieren können (Azure-Portal, PowerShell, CLI, Azure Resource Manager-Vorlage usw.), lesen Sie Aktivierten der automatischen Weiterleitung für Warteschlangen und Abonnements.