Datenströme

Ein Datenstrom ist eine von WebSphere MQ Publish/Subscribe-Anwendungen eingesetzte Methode zum Partitionieren von Themen. Gruppen mit verwandten Themen werden in separaten Datenströmen zusammengefasst.

Durch die Verwendung von Datenströmen können unterschiedliche Sicherheitseinstellungen auf unterschiedliche Themengruppen angewendet und kann die Auslastung des Brokers für Veröffentlichungen besser verteilt werden.

Zwar bietet WebSphere Event Broker Anwendungen flexiblere Möglichkeiten, diese Ziele zu erreichen, aus Gründen der Kompatibilität mit MQRFH-Anwendungen wird jedoch das Datenstromkonzept unterstützt.

WebSphere Event Broker ermöglicht es MQRFH-Clientanwendungen, den Befehlsparameter MQPSStreamName in ihren Subskriptionen und Veröffentlichungen anzugeben. Der Datenstromname wird jedoch nur zum Ändern des Themas verwendet, um das Partitionierungsmerkmal von WebSphere MQ Publish/Subscribe zu erhalten.

Wenn der Name eines Datenstroms, der einer Nachricht zugeordnet ist, auf einen anderen Wert als SYSTEM.BROKER.DEFAULT.STREAM gesetzt ist, wird die Nachricht so verarbeitet, als wäre dem in der Nachricht genannten Thema (oder den Themen) die Zeichenfolge '$SYS/STREAM/<Datenstromname>/' als Präfix vorangestellt. Das heißt, eine Subskription für das Thema 'Thema1', das den Datenstromnamen 'DatenstromX' angibt, wird so verarbeitet, als wäre die Subskription für das Thema '$SYS/STREAM/DatenstromX/Thema1' eingerichtet worden.

Veröffentlichende und subskribierende MQRFH2-Anwendungen können ebenfalls datenstrombezogene Themen adressieren, auch wenn sie selbst in den Nachrichten, die sie an den WebSphere Event Broker-Broker senden, keinen Datenstromnamen angeben können. Zu diesem Zweck müssen sie die Themen mit dem geeigneten Datenstrompräfix versehen.

Beispielsweise muss ein MQRFH2-Subskribent das Thema '$SYS/STREAM/STOCK.STREAM/IBM/Latest' angeben, um das Thema 'IBM/Latest', das im Datenstrom STOCK.STREAM innerhalb des WebSphere MQ Publish/Subscribe-Netzes veröffentlicht wird, zu subskribieren.

Bei WebSphere MQ Publish/Subscribe kann eine datenstrombezogene Veröffentlichung nur an eine Warteschlange gesendet werden, die denselben Namen wie der Datenstrom hat. Dagegen lässt WebSphere Event Broker zu, dass veröffentlichende Clients ihre Veröffentlichungen an jede beliebige Warteschlange in einem Nachrichtenfluss senden. MQRFH-Anwendungen, die in einer Veröffentlichung explizit einen Datenstromnamen als Parameter angeben, können diese Veröffentlichung an jede Veröffentlichungswarteschlange senden, die vom WebSphere Event Broker-Broker bedient wird. Der Name der Warteschlange muss nicht mit dem Namen des Datenstroms übereinstimmen. Diese Vorgehensweise kann jedoch die Reihenfolge, in der Veröffentlichungen empfangen werden, beeinflussen. Prüfen Sie, ob dies für Ihre Anwendungen von Bedeutung ist.

Jeder Veröffentlichungsknoten hat die Eigenschaft Implizite Datenstrombenennung, die standardmäßig auf true (wahr) gesetzt wird. Diese Standardoption hat ein Verhalten zur Folge, dass mit dem in WebSphere MQ Publish/Subscribe identisch ist, wenn eine MQRFH-Veröffentlichung keinen expliziten Datenstromnamen enthält. Wenn diese Eigenschaft auf false (falsch) gesetzt ist und die Veröffentlichung keinen expliziten Datenstromnamen enthält, wird SYSTEM.BROKER.DEFAULT.STREAM angenommen.

In der folgenden Tabelle sind die Optionen aufgeführt, die sowohl für MQRFH- als auch für MQRFH2-Clientanwendungen, die Nachrichten veröffentlichen, verfügbar sind; die Tabelle zeigt die Optionen für den Standarddatenstrom und für einen Beispieldatenstrom mit dem Namen DatenstromX.
  MQRFH-Publisher   MQRFH2-Publisher  
  Standarddatenstrom DatenstromX Standarddatenstrom DatenstromX
MQRFH-Subskribent S1,P1 S2,P2 S1,P3 S2,P4
MQRFH2-Subskribent S3,P1 S4,P2 S3,P3 S4,P4

Anmerkungen zum Subskribenten

S1
Der Subskribent erstellt eine Subskription ohne einen Datenstromnamen oder mit dem Datenstromnamen SYSTEM.BROKER.DEFAULT.STREAM.
S2
Der Subskribent erstellt eine Subskription mit dem Datenstromnamen 'DatenstromX'.
S3
Der Subskribent erstellt eine Subskription für das Thema, ohne '$SYS/STREAM/<Datenstromname>/' hinzuzufügen.
S4
Der Subskribent erstellt eine Subskription für das Thema unter Angabe des Präfix '$SYS/STREAM/DatenstromX/'.

Anmerkungen zum Publisher

P1
Der Publisher veröffentlicht in jeder beliebigen Warteschlange unter Angabe des Datenstromnamens SYSTEM.BROKER.DEFAULT.STREAM, oder er veröffentlicht ohne Angabe eines Datenstromnamens in jeder Warteschlange, für die die Eigenschaft Implizite Datenstrombenennung auf 'false' gesetzt ist.
P2
Der Publisher veröffentlicht in jeder beliebigen Warteschlange unter Angabe des Datenstromnamens 'DatenstromX', oder er veröffentlicht ohne Angabe eines Datenstromnamens in der Warteschlange 'DatenstromX', für die die Eigenschaft Implizite Datenstrombenennung auf 'true' gesetzt ist.
P3
Der Publisher veröffentlicht in jeder beliebigen Warteschlange, ohne das Präfix '$SYS/STREAM/<Datenstrom>/' zum Thema hinzuzufügen.
P4
Der Publisher veröffentlicht in jeder beliebigen Warteschlange und fügt das Präfix '$SYS/STREAM/DatenstromX/' zum Thema hinzu.
Anmerkung: Das Präfix '$SYS/STREAM/<Datenstromname>/' wird aus allen Themen in einer MQRFH2-Veröffentlichung entfernt, wenn sie an einen MQRFH-Subskribenten geliefert wird.

Datenströme und Nachbar-Broker

In einem WebSphere MQ Publish/Subscribe-Netz muss ein Broker nicht dieselbe Gruppe von Datenströmen unterstützen wie seine benachbarten Broker. Wenn ein Broker einen Datenstrom, der von einem seiner Nachbarn unterstützt wird, nicht unterstützt, stehen Veröffentlichungen, die diesem Datenstrom zugeordnet sind, für Clients des betreffenden Brokers nicht zur Verfügung.

Wenn ein WebSphere Event Broker-Broker mit dem Netz verbunden wird, unterstützt er alle Datenströme seiner benachbarten WebSphere MQ Publish/Subscribe-Broker. Das heißt, dass Clients des WebSphere Event Broker-Brokers Veröffentlichungen für jeden Datenstrom herausgeben können, der von einem seiner WebSphere MQ Publish/Subscribe-Nachbarn unterstützt wird.

Um diese Veröffentlichungen zur Verfügung zu stellen, müssen Sie jedoch die Datenstromwarteschlangen definieren, und Sie müssen die Nachrichtenflüsse, die diese Warteschlangen unterstützen, auf dem WebSphere Event Broker-Broker definieren und implementieren.

Aus der folgenden Abbildung geht hervor, wie sich das Hinzufügen eines WebSphere Event Broker-Brokers zu einer WebSphere MQ Publish/Subscribe-Umgebung mit mehreren Datenströmen auswirkt. Der WebSphere Event Broker-Broker NEWBROKER wurde mit den WebSphere MQ Publish/Subscribe-Brokern BROKERA und BROKERB verbunden.

Ein heterogenes Netz

Ein heterogenes Netz. Diese Abbildung zeigt einen <ph conref='edvent.dita#edvent/mqsi'></ph>-Broker, NEWBROKER, zwischen zwei anderen <ph conref='edvent.dita#edvent/sdk'></ph>-Brokern, BROKERA und BROKERB. Außerdem zeigt die Abbildung die Ströme zu jedem der beiden <ph conref='edvent.dita#edvent/sdk'></ph>-Broker.

Die standardmäßige Datenstromwarteschlange SYSTEM.BROKER.DEFAULT.STREAM wird immer von allen Brokern in einem WebSphere MQ Publish/Subscribe-Netz unterstützt und muss auf jedem WebSphere Event Broker-Broker in einem heterogenen Netz definiert werden. Sie müssen auf jedem Broker einen Nachrichtenfluss definieren und implementieren, der diese Warteschlange bedient.

Wenn ein WebSphere Event Broker-Broker in ein WebSphere MQ Publish/Subscribe-Netz integriert wurde und zwei oder mehr WebSphere MQ Publish/Subscribe-Broker verbindet, die dieselben Datenströme verwenden, müssen Sie im WebSphere Event Broker-Broker die gemeinsam benutzten Datenstromwarteschlangen definieren sowie die Nachrichtenflüsse für diese Warteschlangen definieren und einsetzen.

Beispielsweise muss auf dem WebSphere Event Broker-Broker NEWBROKER eine Datenstromwarteschlange für BULLETIN.STREAM definiert werden. Darüberhinaus muss ein Nachrichtenfluss definiert und implementiert werden, der einen Veröffentlichungsdienst für die Warteschlange bereitstellt.

Sie müssen auf dem WebSphere Event Broker-Broker Datenstromwarteschlangen und zugeordnete Nachrichtenflüsse für andere in der Abbildung gezeigte Datenströme nur dann definieren, wenn einer der benachbarten WebSphere MQ Publish/Subscribe-Broker eine Nachricht an eine dieser Warteschlangen senden kann. Eine Nachricht wird bei einem der folgenden Ereignisse gesendet:
  1. Eine Subskription für eine Veröffentlichung in einem dieser Datenströme wird von einem Client des WebSphere Event Broker-Brokers eingerichtet.
  2. Ein Befehl zum Löschen einer Veröffentlichung (DeletePublication) für den Datenstrom wird von einem Client an einer beliebigen Stelle im Brokernetz ausgegeben.
Falls Sie nicht ausschließen können, dass die oben genannten Fälle eintreten, erstellen Sie auf dem WebSphere Event Broker-Broker Datenstromwarteschlangen und Nachrichtenflüsse für jeden Datenstrom, der von einem benachbarten WebSphere MQ Publish/Subscribe-Broker unterstützt wird. Andernfalls kann einer der folgenden Fälle eintreten:
  • Nachrichten, die von WebSphere MQ Publish/Subscribe-Brokern gesendet werden, werden in die Warteschlange für nicht zustellbare Nachrichten (DLQ) des WebSphere Event Broker-Brokers gestellt, wenn die Datenstromwarteschlange auf diesem Broker nicht vorhanden ist.
  • Nachrichten stauen sich in Datenstromwarteschlangen auf dem WebSphere Event Broker-Broker, wenn die Datenstromwarteschlange zwar vorhanden ist, aber kein Nachrichtenfluss implementiert wurde, der sie bedient.

Datenströme und Migration

Bei der Migration eines WebSphere MQ Publish/Subscribe-Brokers auf einen WebSphere Event Broker-Broker (mit dem Befehl migmqbrk) werden die Datenströme, die zum Zeitpunkt der Migration unterstützt werden, exakt auf dem WebSphere Event Broker-Broker repliziert.

Anschließende Änderungen sind nicht möglich, d. h., zu dieser replizierten Gruppe können weder Datenströme hinzugefügt noch können Datenströme aus ihr entfernt werden.

Die Migration ist erst abgeschlossen, nachdem Sie Nachrichtenflüsse erstellt und eingesetzt haben, die alle diese Datenströme verarbeiten.

Zugehörige Verweise
MQRFH2-Header
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009. Alle Rechte vorbehalten.
Letzte Aktualisierung : 2009-02-17 15:50:00

aq01180_