Publish/Subscribe

Publish/Subscribe ist die Bezeichnung für den Mechanismus, mit dem Subskribenten Informationen in Form von Nachrichten von Publishern erhalten können.

Ein typisches Publish/Subscribe-System hat mehrere Publisher und mehrere Subskribenten. Eine Anwendung kann sowohl Publisher (Veröffentlicher) als auch Subskribent sein.

Derjenige, der die Informationen bereitstellt, wird als Publisher (Veröffentlicher) bezeichnet. Publisher stellen Informationen zu einem Thema bereit, ohne dass sie etwas über die an diesen Informationen interessierten Anwendungen wissen müssen. Die Publisher generieren diese Informationen in Form von Nachrichten ("Veröffentlichungen" genannt), die sie veröffentlichen möchten und definieren das Topic (Thema) dieser Nachrichten.

Der Konsument der Informationen wird als Subskribent bezeichnet. Subskribenten erstellen Subskriptionen, die das Topic (Thema) angeben, an dem der Subskribent interessiert ist. Die Subskription bestimmt daher, welche Veröffentlichungen an den Subskribenten weitergeleitet werden. Ein Subskribent kann mehrere Subskriptionen vornehmen und Informationen von verschiedenen Publishern erhalten.

Die veröffentlichten Informationen werden in einer JMS- oder MQTT-Nachricht gesendet, und das Topic gibt das Thema der Informationen an. Der Publisher gibt das Topic an, wenn er die Informationen veröffentlicht, und der Subskribent gibt die Topics an, zu denen er Veröffentlichungen erhalten möchte. An den Subskribenten werden nur die Informationen zu den Topics (Themen) gesendet, die er subskribiert hat.

Im folgenden Diagramm ist das Publish/Subscribe-Modell dargestellt. Im Diagramm veröffentlicht ein Publisher eine Nachricht in einem Topic. Eine Kopie dieser Nachricht wird von allen drei Subskribenten dieses Topics empfangen.

Diagramm zur Veranschaulichung des Publish/Subscribe-Modells.

Das Publish/Subscribe-Nachrichtenmodell hat folgende Vorteile:
  • Der Publisher muss nicht wissen, wer Subskribent ist. Dies bedeutet, dass der Publisher zusätzlich zum Veröffentlichen nicht auch noch komplexe Zielinformationen angeben muss.
  • Der Subskribent wird vom Publisher entkoppelt. Diese Entkopplung ist nützlich, weil der Subskribent nur dann Nachrichten empfängt, wenn er an einem bestimmten Thema, einem so genannten Topic, interessiert ist. Der Subskribent kann jederzeit und ohne Auswirkungen auf den Publisher ein Topic subskribieren oder die Subskription beenden.
  • Die Messaging-Topologie ist dynamisch und flexibel. Publisher und Subskribenten können die Topicstruktur verwenden, um Nachrichten schnell zu verbreiten oder zu erhalten.
  • Publish/Subscribe unterstützt eine einfache Implementierung und Integration.

Sie können auch gemeinsam genutzte Subskriptionen verwenden. Gemeinsam genutzte Subskriptionen können verwendet werden, um die Aufgabe des Nachrichtenempfangs von einer Topicsubskription zwischen den Subskribenten aufzuteilen. Jede Nachricht wird nur von einem Subskribenten der gemeinsamen Subskription empfangen. Weitere Informationen zu gemeinsamen Subskriptionen finden Sie unter Subskribenten und Subskriptionen.




Feedback | Bemerkungen


Zeitmarkensymbol Letzte Aktualisierung: 16.09.2015


http://pic.dhe.ibm.com/infocenter/ism/v1r0m0/com.ibm.ism.doc/Overview/ov00030.html