Sicherstellen, dass Nachrichten nicht verloren gehen

Es ist wichtig, die Nachrichten zu schützen, welche die Brokerdomäne passieren. Dies gilt sowohl für von Anwendungen generierte Nachrichten als auch für diejenigen, die intern für die Kommunikation zwischen Komponenten verwendet werden. Letztere nutzen immer das WebSphere MQ-Protokoll. Anwendungsnachrichten können alle unterstützten Übertragungsprotokolle verwenden.

Bei Anwendungsnachrichten und internen Nachrichten, die WebSphere MQ durchlaufen, schützen zwei Verfahren vor Nachrichtenverlust:

Weitere Informationen zur Verwendung dieser Optionen finden Sie im Handbuch WebSphere MQSystem Administration Guide.

Interne Nachrichten

WebSphere Event Broker-Komponenten nutzen WebSphere MQ-Nachrichten zum Übertragen von Ereignissen und Daten zwischen Brokerprozessen und Subsystemen und zwischen Konfigurationsmanager und Benutzernamensserver. Die Komponenten stellen sicher, dass die WebSphere MQ-Funktionen zum Schutz vor Datenverlust genutzt werden. Sie müssen keine weiteren Schritte unternehmen, um WebSphere MQ oder WebSphere Event Broker für den Schutz vor Verlust interner Nachrichten zu konfigurieren.

Anwendungsnachrichten

Wenn die Übermittlung von Anwendungsnachrichten wichtig ist, müssen Sie Anwendungsprogramme und Nachrichtenflüsse dafür erstellen, um sicherzustellen, dass sie nicht verlorengehen. Die verwendeten Verfahren hängen vom Protokoll ab, das von den Anwendungen genutzt wird.

WebSphere MQ Enterprise Transport und WebSphere MQ Mobile Transport
Wenn Sie die integrierten Empfangsknoten verwenden, die Nachrichten über das WebSphere MQ- oder WebSphere MQ Everyplace-Protokoll akzeptieren, können Sie die folgenden Richtlinien und Empfehlungen befolgen:
  • Bei persistenten Nachrichten

    WebSphere MQ-Messaging-Produkte bieten Nachrichtenpersistenz, welche die Langlebigkeit der Nachricht im System bestimmt und die Nachrichtenintegrität garantiert. Nicht persistente Nachrichten gehen im Falle eines System- oder Warteschlangenmanagerausfalls verloren. Persistente Nachrichten werden im Falle eines Ausfalls immer wiederhergestellt.

    Die Nachrichtenpersistenz kann folgendermaßen kontrolliert werden:
    • Programmieren Sie Ihre Anwendungen, die Nachrichten in eine Warteschlange einreihen, die MQI oder AMI verwendet, um anzugeben, dass die Nachrichten persistent sind.
    • Definieren Sie die Eingabewarteschlange mit Nachrichtenpersistenz als Standardeinstellung.
    • Konfigurieren Sie den Sendeknoten so, dass er persistente Nachrichten handhabt.
    • Programmieren Sie Ihre Subskribentenanwendungen so, dass sie Nachrichtenpersistenz anfordern.

    Wenn ein Empfangsknoten liest, dass eine Nachricht von einer Eingabewarteschlange gelesen wird, besteht die Standardaktion darin, die Persistenz zu verwenden, die im WebSphere MQ-Nachrichtenheader (MQMD) definiert wurde, der entweder von der Anwendung festgelegt wurde, welche die Nachricht erstellt, oder von der Standardpersistenz der Eingabewarteschlange. Die Nachricht behält diese Persistenz während des gesamten Nachrichtenflusses bei, es sei denn, sie wird in einem nachfolgenden Nachrichtenverarbeitungsknoten verändert.

    Der Persistenzwert jeder Nachricht kann überschrieben werden, wenn der Nachrichtenfluss bei einem Sendeknoten endet. Dieser Knoten verfügt über eine Eigenschaft, mit der Sie die Nachrichtenpersistenz jeder Nachricht angeben können, wenn sie in die Ausgabewarteschlange eingereiht wird - entweder als erforderlicher Wert oder als ein Standardwert. Wenn Sie den Standardwert angeben, nimmt die Nachricht den Wert an, der für die Warteschlangen definiert wurde, in welche die Nachrichten geschrieben werden.

    Wenn eine Nachricht einen Veröffentlichungsknoten passiert, wird die Persistenz von Nachrichten, die Subskribenten gesendet werden, durch die Registrierungsoptionen der Subskribenten bestimmt. Wenn ein Subskribent die Übermittlung einer persistenten Nachricht angefordert hat und dazu durch implizite (übernommene) oder explizite ACL autorisiert ist, wird die Nachricht persistent übermittelt, unabhängig von ihrem vorhandenen Persistenzmerkmal. Und wenn der Benutzer die Übermittlung einer nicht persistenten Nachricht angefordert hat, wird die Nachricht nicht persistent übermittelt, unabhängig von ihrem vorhandenen Persistenzmerkmal.

  • Verarbeitung von Nachrichten unter dem Synchronisationspunkt-Steuerelement

    Die Standardaktion eines Nachrichtenflusses besteht darin, eingehende Nachrichten unter dem Synchronisationspunkt in einem durch einen Broker kontrollierten Arbeitsgang zu verarbeiten. Dies bedeutet, dass eine Nachricht, die aus irgendeinem Grund nicht verarbeitet wird, vom Broker zurückgesetzt wird. Da sie unter dem Synchronisationspunkt empfangen wurde, wird sie erneut in die Eingabewarteschlange eingereiht und kann wieder verarbeitet werden. Schlägt die Verarbeitung fehl, werden die Fehlerbehandlungsprozeduren für diesen Nachrichtenfluss (entweder durch Ihre Konfiguration des Nachrichtenflusses oder durch den Broker definiert) ausgeführt.

    Weitere Informationen zur Empfangsknotenverarbeitung finden Sie unter Fehler im Empfangsknoten verwalten.

WebSphere MQ Telemetry Transport
Wenn Sie den integrierten SCADAEmpfangsknoten verwenden, der Nachrichten von Telemetriegeräten über das MQIsdp-Protokoll akzeptiert, weist dieses Protokoll kein Warteschlangenkonzept auf. Clients bauen eine Verbindung zu einem SCADAEmpfangsknoten auf, indem sie die Portnummer angeben, an welcher der Knoten empfangsbereit ist. Nachrichten werden zu Clients gesendet, die eine clientId (Kunden-ID) verwenden. Sie können jedoch eine maximale Dienstqualität (QoS) innerhalb einer SCADA-Subskriptionsnachricht festlegen, die der Persistenz ähnlich ist:
  • QoS0 nicht persistent
  • QoS1 persistent, wird aber möglicherweise mehr als einmal zugestellt
  • QoS2 ausschließlich einmalige Übermittlung

Wird eine persistente SCADA-Nachricht publiziert, wird unter Umständen für sie ein Downgrade für die höchste vom Client annehmbare Ebene durchgeführt. In einigen Fällen kann das bedeuten, dass die Nachricht nicht mehr persistent ist.

WebSphere MQ Real-time Transport und WebSphere MQ Multicast Transport
Wenn Sie die integrierten Echtzeitempfangsknoten und Knoten 'Echtzeitoptimierter_Fluss' verwenden, die Nachrichten von JMS und Multicasting-Anwendungen akzeptieren, sind keine Einsatzmittel für den Schutz vor Datenverlust verfügbar. Es ist jedoch möglich, Wiederherstellungsprozeduren zur Verfügung zu stellen, indem Sie den Nachrichtenfluss so konfigurieren, dass er seine eigenen Fehler handhabt.
Andere Übertragungsmethoden und -protokolle
Bei benutzerdefinierten Empfangsknoten, die Nachrichten von einem anderen Übertragungsprotokoll empfangen, müssen Sie sich auf die Unterstützung verlassen, die von diesem Protokoll bereitgestellt wird, oder die Wiederherstellungsprozeduren verwenden, die vom Anbieter der benutzerdefinierten Knoten bereitgestellt werden.
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2005 Letzte Aktualisierung: 9 Nov 2005
ac00420_