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.
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.
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 vonAutoDeleteOnIdle
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.