Jeder von Ihnen entworfene Nachrichtenfluss muss einen vollständigen Satz von Verarbeitungsschritten für Nachrichten, die von einer bestimmten Quelle empfangen werden, enthalten. Durch diese Gestaltung können sehr komplexe Nachrichtenflüsse entstehen, die eine große Zahl von Knoten enthalten und Leistungseinbußen und mögliche Engpässe verursachen können. Eine Erhöhung der Anzahl von Nachrichtenflüssen zur Verarbeitung der Nachrichten bietet die Möglichkeit zur Parallelverarbeitung und dadurch einen verbesserten Durchsatz.
Sie können auch berücksichtigen, wie die vom Nachrichtenfluss aufgenommenen Aktionen festgeschrieben werden und in welcher Reihenfolge die Nachrichten verarbeitet werden sollen.
Berücksichtigen Sie folgende Optionen, um den Durchsatz des Nachrichtenflusses zu optimieren:
Sie können die Eigenschaft Zusätzliche Instanzen des implementierten Nachrichtenflusses in der BAR-Datei aktualisieren: Der Broker startet zusätzliche Kopien des Nachrichtenflusses in separaten Threads und ermöglicht dadurch eine Parallelverarbeitung. Diese Option ist die effektivste Methode zur Handhabung dieser Situation, wenn die Reihenfolge, in der Nachrichten verarbeitet werden, nicht so wichtig ist.
Wenn der Nachrichtenfluss Nachrichten aus einer WebSphere MQ-Warteschlange empfängt, können Sie die Reihenfolge, in der Nachrichten verarbeitet werden, beeinflussen, indem Sie die Eigenschaft Modus für Reihenfolge des MQInput-Knotens festlegen:
Für Publish/Subscribe-Anwendungen, die über eines der unterstützten Protokolle mit dem Broker kommunizieren, werden Nachrichten zu einem angegebenen Thema von den Brokern in der Reihenfolge veröffentlicht, in der sie von der Veröffentlichungskomponente empfangen werden (vorbehaltlich einer Änderung der Reihenfolge abhängig von der Nachrichtenpriorität, falls anwendbar). Dies bedeutet, dass jeder Subskribent Nachrichten von einem bestimmten Broker, zu einem bestimmten Thema oder von einer bestimmten Veröffentlichungskomponente in der Reihenfolge empfängt, in der sie von der jeweiligen Veröffentlichungskomponente veröffentlicht werden.
Gelegentlich werden Nachricht jedoch nicht in der Reihenfolge zugestellt. Dies kann beispielsweise dann passieren, wenn ein Link im Netz fehlschlägt und nachfolgende Nachrichten von einem anderen Link weitergeleitet werden.
Wenn Sie sicherstellen müssen, dass die Reihenfolge der empfangenen Nachrichten erhalten bleibt, können Sie für jede veröffentlichte Nachricht entweder den Parameter SeqNum (Folgenummer) oder den Parameter PubTime (Zeitmarke für Veröffentlichung) des Befehls Publish verwenden, um die Veröffentlichungsreihenfolge zu berechnen.
Weitere Informationen zu den für alle MQI- und AMI-Benutzer empfohlenen Verfahren
finden Sie in den Handbüchern Application Programming Reference und Application
Programming Guide im
WebSphere MQ Version 6 Information Center online oder (bei
WebSphere MQ Version 5.3) in den Handbüchern Application
Programming Guide und Application Programming Reference in der
Webseite der Bibliothek zu WebSphere MQ für Programme, die für die MQI geschrieben
wurden, und im Handbuch WebSphere MQ Application Messaging
Interface für Programme, die für AMI geschrieben wurden.
Das Handbuch WebSphere MQ Application Messaging Interface ist auf der Webseite der Bibliothek zu WebSphere MQ (Liste unter Version 5.3) oder unter SupportPac MA0F auf der Webseite mit WebSphere MQ SupportPacs verfügbar.
Informationen finden Sie auch im Abschnitt Publish/Subscribe
User's Guide im WebSphere MQ Version 6 Information Center online oder (bei
WebSphere MQ Version 5.3) im Publish/Subscribe User's
Guide auf der Webseite der Bibliothek zu WebSphere MQ.
WebSphere MQ Everyplace und SCADA-Anwendungen verwenden eine andere Methode zur Sortierung von Nachrichten als unter WebSphere MQ Mobile Transport bzw. WebSphere MQ Telemetry Transport beschrieben. Der Broker bietet keine Möglichkeit zum Sortieren von Nachrichten, die über WebSphere MQ Real-time Transport oder WebSphere MQ Multicast Transport empfangen werden.
Bei dieser Option kann die Verarbeitungsreihenfolge der Nachrichten nicht mehr bestimmt werden. Der Grund hierfür ist, dass bei mehreren aktiven Kopien des Nachrichtenflusses im Broker jede der Kopien eine Nachricht zur selben Zeit aus derselben Warteschlange verarbeiten kann. Die Zeit für die Verarbeitung einer Nachricht kann variieren. Wenn mehrere Nachrichtenflüsse auf dieselbe Warteschlange zugreifen, kann es deshalb vorkommen, dass Nachrichten aus der Eingabequelle in einer Zufallsreihenfolge gelesen werden. Die von den Nachrichtenflüssen erstellte Reihenfolge der Nachrichten entspricht dann möglicherweise nicht der Reihenfolge der ursprünglichen Nachrichten.
Stellen Sie sicher, dass Anwendungen, die Nachrichten von diesen Nachrichtenflüssen empfangen, auch Nachrichten außerhalb der Reihenfolge akzeptieren.