Kombinieren von Veröffentlichungs-und Subskriptionsbereichen
Ab IBM® WebSphere® MQ 7.0 arbeiten Veröffentlichungs-und Subskriptionsbereich unabhängig voneinander, um den Fluss von Veröffentlichungen zwischen Warteschlangenmanagern zu bestimmen.
Veröffentlichungen können allen Warteschlangenmanagern, die in einer Publish/Subscribe-Topologie verbunden sind, oder nur dem lokalen WS-Manager fließen. Analog zu Proxy-Subskriptionen. Welche Veröffentlichungen mit einer Subskription übereinstimmen, wird durch die Kombination dieser beiden Datenflüsse gesteuert.
Veröffentlichungen und Subskriptionen können sowohl auf QMGR als auch auf ALL definiert werden. Wenn ein Publisher und ein Subskribent beide mit demselben Warteschlangenmanager verbunden sind, wirken sich die Geltungsbereichseinstellungen nicht auf die Veröffentlichungen aus, die der Subskribent von diesem Bereitsteller erhält.
Wenn der Bereitsteller und der Subskribent mit unterschiedlichen Warteschlangenmanagern verbunden sind, müssen beide Einstellungen ALL sein, um ferne Veröffentlichungen zu empfangen.
Angenommen, Publisher sind mit verschiedenen Warteschlangenmanagern verbunden. Wenn Sie möchten, dass ein Subskribent Veröffentlichungen von einem beliebigen Publisher empfängt, legen Sie den Subskriptionsumfang auf ALL fest. Sie können dann für jeden Bereitsteller entscheiden, ob der Umfang seiner Veröffentlichungen auf Subskribenten beschränkt werden soll, die lokal für den Publisher sind.
Angenommen, die Subskribenten sind mit verschiedenen Warteschlangenmanagern verbunden. Wenn die Veröffentlichungen von einem Publisher an alle Subskribenten gesendet werden sollen, setzen Sie den Veröffentlichungsumfang auf ALL . Wenn Sie möchten, dass ein Subskribent nur Veröffentlichungen von einem Publisher empfängt, der mit demselben Warteschlangenmanager verbunden ist, legen Sie den Subskriptionsumfang auf QMGR fest.
Beispiel: Fußball-Ergebnisdienst
Angenommen, Sie sind ein Mitglied-Team in einer Football-Liga. Jedes Team verfügt über einen WS-Manager, der mit allen anderen Teams in einem Publish/Subscribe-Cluster verbunden ist.
Die Teams veröffentlichen die Ergebnisse aller Spiele, die auf ihrem Heimspielplatz gespielt wurden, unter dem Thema Football/result/Home team name/Away team name. Die Zeichenfolgen in Kursivschrift sind variable Themennamen, und die Veröffentlichung ist das Ergebnis der Übereinstimmung.
Jeder Club veröffentlicht außerdem die Ergebnisse nur für den Club unter Verwendung der Themenzeichenfolge Football/myteam/Home team name/Away team name erneut.
Beide Themen werden im gesamten Cluster veröffentlicht.
Die folgenden Abonnements wurden von der Liga eingerichtet, damit die Fans eines jeden Teams die Ergebnisse auf drei interessante Arten abonnieren können.SUBSCOPE(QMGR) einrichten können. Die Themendefinitionen werden an jedes Member des Clusters weitergegeben, aber der Geltungsbereich der Subskription ist nur der lokale Warteschlangenmanager. So empfangen Subskribenten in jedem WS-Manager verschiedene Veröffentlichungen aus derselben Subskription.- Alle Ergebnisse empfangen
DEFINE TOPIC(A) TOPICSTR('Football/result/') CLUSTER SUBSCOPE(ALL)- Alle Ausgangsergebnisse empfangen
Da die Subskription den Geltungsbereich QMGR hat, werden nur die Ergebnisse verglichen, die auf dem Homerground veröffentlicht werden.DEFINE TOPIC(B) TOPICSTR('Football/result/') CLUSTER SUBSCOPE(QMGR)- Alle eigenen Teamergebnisse empfangen
Da die Subskription den Geltungsbereich QMGR hat, werden nur die Ergebnisse des lokalen Teams, die lokal erneut veröffentlicht werden, abgeglichen.DEFINE TOPIC(C) TOPICSTR('Football/myteam/') CLUSTER SUBSCOPE(QMGR)