WISSENSARTIKEL / COMPUTER & HARDWARE

Publish Subscribe

Ein Kommunikationsmuster für asynchrone Nachrichtenübermittlung

◎ KURZDEFINITION

Publish Subscribe Publish Subscribe ist ein Kommunikationsmuster, bei dem Nachrichten von Publishern veröffentlicht und von Subscriber abonniert werden, ohne dass diese direkt voneinander wissen.

Eigenständig verständliche Definition
✦

Das Wichtigste auf einen Blick

  • Publish Subscribe entkoppelt Sender und Empfänger von Nachrichten.
  • Nachrichten werden themenbasiert oder ereignisbasiert verteilt.
  • Es unterstützt asynchrone und skalierbare Kommunikation.
  • Geeignet für verteilte Systeme und Event-Driven-Architekturen.
  • Publisher und Subscriber müssen nicht voneinander wissen.
  • Verschiedene Implementierungen existieren, z. B. Message Broker.
  • Erhöht Flexibilität und Wartbarkeit von Systemen.
01

Überblick: Publish Subscribe

Das Publish-Subscribe-Modell (auch Pub/Sub) ist ein weitverbreitetes Kommunikationsparadigma in der Informatik und Softwareentwicklung. Es ermöglicht eine asynchrone, entkoppelte Kommunikation zwischen Komponenten oder Diensten, indem Nachrichten von einem Publisher an mehrere Subscriber verteilt werden, die sich für bestimmte Themen oder Ereignisse interessieren. Dieses Modell findet Anwendung in verteilten Systemen, Event-Driven-Architekturen, Messaging-Systemen und IoT-Plattformen.

02

Grundprinzip von Publish Subscribe

Das Publish-Subscribe-Modell basiert auf der Idee, dass Publisher Nachrichten zu bestimmten Themen veröffentlichen, ohne zu wissen, wer diese empfängt. Subscriber abonnieren Themen und erhalten alle Nachrichten, die zu diesen Themen veröffentlicht werden. Die Vermittlung erfolgt meist über einen Message Broker, der die Nachrichten verteilt.

03

Architektur und Komponenten

Die Architektur umfasst drei Hauptkomponenten: Publisher, Subscriber und einen Message Broker. Publisher erzeugen Nachrichten und senden sie an den Broker. Der Broker verwaltet die Abonnements der Subscriber und leitet die Nachrichten entsprechend weiter. Subscriber empfangen nur Nachrichten, die sie abonniert haben.

04

Nachrichtenverteilung: Themenbasiert vs. Inhaltbasiert

Es gibt zwei Hauptarten der Nachrichtenverteilung im Publish-Subscribe-Modell: Themenbasiert, bei dem Nachrichten anhand eines Themas oder Channels verteilt werden, und inhaltsbasiert, bei dem Nachrichten anhand ihres Inhalts gefiltert und verteilt werden.

05

Vergleich: Themenbasierte vs. Inhaltsbasierte Verteilung

MerkmalThemenbasierte VerteilungInhaltsbasierte Verteilung
VerteilungsgrundlageThema/ChannelNachrichteninhalt
FilterungEinfach (Themenfilter)Komplex (Inhaltsfilter)
ImplementierungWeit verbreitetAufwändiger
FlexibilitätBegrenztHoch
06

Vorteile des Publish-Subscribe-Modells

Das Modell bietet mehrere Vorteile: Es entkoppelt Sender und Empfänger, ermöglicht asynchrone Kommunikation, unterstützt Skalierbarkeit und Flexibilität und erleichtert die Integration heterogener Systeme.

07

Anwendungsbeispiele

Publish Subscribe wird in vielen Bereichen eingesetzt, darunter Nachrichtensysteme, Event-Driven-Architekturen, IoT-Plattformen, Finanzhandelssysteme und Benachrichtigungsdienste.

08

Herausforderungen und Grenzen

Neben den Vorteilen gibt es auch Herausforderungen, wie die Komplexität der Verwaltung von Abonnements, die Sicherstellung der Nachrichtenreihenfolge, Latenzzeiten und die Fehlerbehandlung bei Ausfällen von Komponenten.

09

Technologische Implementierungen

Bekannte Technologien und Protokolle, die das Publish-Subscribe-Modell nutzen, sind MQTT, Apache Kafka, RabbitMQ, Google Cloud Pub/Sub und Redis Pub/Sub.

10

Wichtig

✦

Publish Subscribe ist ein fundamentales Muster für moderne, skalierbare und flexible Systeme, das die Entkopplung von Komponenten fördert und asynchrone Kommunikation ermöglicht.

◇

Zusatzinformationen

◇

Definition: Kommunikationsmuster zur asynchronen Nachrichtenverteilung zwischen Publishern und Subscriber.

Anwendungsgebiete: Softwareentwicklung, verteilte Systeme, IoT, Event-Driven-Architekturen

Hauptvorteile: Entkopplung, Skalierbarkeit, Flexibilität

Typische Komponenten: Publisher, Subscriber, Message Broker

Kommunikationsart: Asynchron

Nachrichtenverteilung: Themenbasiert oder ereignisbasiert

Aa

Synonyme und alternative Bezeichnungen

?

Häufige Fragen zu Publish Subscribe

Was ist der Hauptunterschied zwischen Publish Subscribe und Request-Response?

Im Publish-Subscribe-Modell kommunizieren Publisher und Subscriber asynchron und entkoppelt über Themen, während im Request-Response-Modell eine direkte, synchrone Kommunikation zwischen Client und Server stattfindet.

Welche Rolle spielt ein Message Broker im Publish-Subscribe-System?

Der Message Broker vermittelt zwischen Publishern und Subscriber, verwaltet Abonnements und sorgt für die Verteilung der Nachrichten an die richtigen Empfänger.

Kann ein Subscriber mehrere Themen abonnieren?

Ja, ein Subscriber kann mehrere Themen abonnieren und somit Nachrichten aus verschiedenen Bereichen empfangen.

Wie wird die Nachrichtenreihenfolge im Publish-Subscribe-Modell sichergestellt?

Die Nachrichtenreihenfolge kann durch den Message Broker oder die verwendete Technologie sichergestellt werden, ist jedoch je nach Implementierung und Systemkomplexität eine Herausforderung.

Ist Publish Subscribe für Echtzeitanwendungen geeignet?

Ja, Publish Subscribe kann für Echtzeitanwendungen geeignet sein, wenn die Latenzzeiten gering gehalten und die Infrastruktur entsprechend ausgelegt ist.

Welche Sicherheitsaspekte sind bei Publish Subscribe zu beachten?

Wichtige Sicherheitsaspekte sind Authentifizierung, Autorisierung, Verschlüsselung der Nachrichten und Schutz vor unbefugtem Zugriff auf Themen oder Nachrichten.

Welche Protokolle unterstützen das Publish-Subscribe-Modell?

Bekannte Protokolle sind MQTT, AMQP, STOMP und DDS, die speziell für Publish-Subscribe-Kommunikation entwickelt wurden.

▤

Quellen & weiterführende Informationen

Quellenvorschläge und Nachweise zum Artikel. Bitte externe Inhalte eigenständig prüfen.

3 Quellen
  1. 01
    Publish-Subscribe Pattern ↗
    martinfowler.com· Martin Fowler· WebseiteKI-Vorschlag · ungeprüft

    Grundlegende Beschreibung und Erklärung des Publish-Subscribe-Musters.

    https://martinfowler.com/eaaDev/PublishSubscribe.html
  2. 02
    MQTT Essentials - A Lightweight IoT Protocol ↗
    HiveMQ· HiveMQ Team· WebseiteKI-Vorschlag · ungeprüft

    Erklärung des MQTT-Protokolls, das das Publish-Subscribe-Prinzip nutzt.

    https://www.hivemq.com/mqtt-essentials/
  3. 03
    Apache Kafka Documentation ↗
    Apache Software Foundation· Apache Kafka Community· Online-DokumentationKI-Vorschlag · ungeprüft

    Dokumentation zu Apache Kafka, einer verbreiteten Publish-Subscribe-Plattform.

    https://kafka.apache.org/documentation/

Artikel teilen oder einbetten

Teile diesen Wissensartikel oder binde eine kompakte Vorschau auf deiner eigenen Website ein.

f Facebookin LinkedIn𝕏 X◉ WhatsApp
War dieser Artikel hilfreich?Dein Feedback hilft, die Wissensplattform zu verbessern.
ANSWER ENGINE · ARTIKEL

Diese Seite in Zahlen

Artikelstatistik
↗–Aufrufe dieses Artikels
◷–Unique Nutzer letzte 24 Stunden
◉–Unique Nutzer heute
▦–Unique Nutzer diesen Monat
Feedback zu diesem Artikel
👍 Ja
0
◐ Teilweise
0
👎 Nein
0

Alle Werte in diesem Abschnitt beziehen sich ausschließlich auf diesen Artikel.

ANSWER ENGINE · GESAMTES NETZWERK

Wissensplattform in Zahlen

Netzwerkstatistik
↗–Seitenaufrufe gesamt
◷–Unique Nutzer letzte 24 Stunden
◉–Unique Nutzer heute
▦–Unique Nutzer diesen Monat

Diese Werte beziehen sich auf die gesamte Plattform und alle veröffentlichten Artikel.