Was ist Pub/Sub-Messaging?

Publish-Subscribe-Messaging, oder Pub/Sub-Messaging, ist ein asynchrones Kommunikationsmodell, das es Entwicklern leicht macht, hochfunktionale und architektonisch komplexe Anwendungen in der Cloud zu erstellen. In der modernen Cloud-Architektur werden Anwendungen in kleinere, unabhängige Bausteine, so genannte Services, zerlegt. Pub/Sub-Messaging bietet sofortige Ereignisbenachrichtigungen für diese verteilten Systeme. Es unterstützt eine skalierbare und zuverlässige Kommunikation zwischen unabhängigen Softwaremodulen.

Wie funktioniert Pub/Sub-Messaging?

Das Publish-Subscribe (Pub/Sub)-System besteht aus vier Hauptkomponenten.

Nachrichten

Bei einer Nachricht handelt es sich um Kommunikationsdaten, die vom Sender zum Empfänger gesendet werden. Bei Nachrichtentypen kann es sich um alle Arten von Zeichenfolgen bis hin zu komplexen Objekten handeln, die Text, Video, Sensordaten, Audio oder andere digitale Inhalte darstellen.

Themen

Jeder Nachricht ist ein Thema zugeordnet. Das Thema fungiert wie ein Vermittlungskanal zwischen Sendern und Empfängern. Es verwaltet eine Liste von Empfängern, die an Nachrichten zu diesem Thema interessiert sind.

Abonnenten

Ein Abonnent ist der Nachrichtenempfänger. Abonnenten müssen sich für Themen von Interesse anmelden (oder diese abonnieren). Sie können verschiedene Funktionen ausführen oder parallel etwas anderes mit der Nachricht machen.

Publisher

Der Publisher ist die Komponente, die Nachrichten versendet. Es erstellt Nachrichten zu einem Thema und sendet diese einmalig an alle Abonnenten dieses Themas. Diese Interaktion zwischen dem Publisher und den Abonnenten ist eine 1:n-Beziehung. Der Publisher benötigt keine Informationen darüber, wer die gesendeten Informationen verwendet, und die Abonnenten müssen nicht wissen, woher die Nachricht stammt.

Was sind die Funktionen eines Pub/Sub-Messaging-Systems?

Anwendungen, die mit einem Publish-Subscribe (Pub/Sub)-Muster entwickelt wurden, verfügen über eine separate Anwendungs- und Kommunikationslogik. Die Messaging-Infrastruktur entkoppelt die Nachrichtenübermittlung zwischen Publishern und Abonnenten und sendet asynchron an verschiedene Abonnenten.

Das Pub/Sub-Kommunikationssystem weist die folgenden Hauptmerkmale auf.

Push-Mitteilung

Pub/Sub-Messaging sendet sofort asynchrone Ereignisbenachrichtigungen, wenn Nachrichten im Nachrichtenthema veröffentlicht werden. Abonnenten werden benachrichtigt, wenn eine Nachricht verfügbar ist.

Mehrere Übermittlungsprotokolle

Themen stellen eine Verbindung zu mehreren Arten von Endpunkten her, z. B. Nachrichtenwarteschlangen, Serverless-Funktionen, HTTP-Server und E-Mail-Adressen.

Weitere Informationen über Nachrichtenwarteschlangen mit AWS »

Fanout

Dieses Szenario tritt ein, wenn eine Nachricht an ein Thema gesendet, anschließend repliziert und an mehrere Endpunkte übertragen wird. Fanout stellt asynchrone Ereignisbenachrichtigungen bereit, die wiederum eine Parallelverarbeitung ermöglichen.

Filtern

Die Filterfunktion ermöglicht es dem Abonnenten, eine Nachrichtenfilterrichtlinie zu erstellen. Sie erhalten also nur die Benachrichtigungen, an denen sie interessiert sind, und nicht jede einzelne Nachricht, die zum Thema veröffentlicht wird.

Multiplexing

In einigen Fällen können Publisher auch Abonnenten sein. Sie können Nachrichtenströme vervielfachen und Systeme erstellen, die auf eine intern konsistente Weise miteinander verbunden sind.

Was sind die Vorteile von Pub/Sub-Messaging?

Das Publish-Subscribe (Pub/Sub)-Modell ermöglicht den Einsatz einer ereignisgesteuerten Architektur, die in vielen modernen Anwendungen erforderlich ist. Sie können Ereignisse verwenden, um entkoppelte Services auszulösen und mit ihnen zu kommunizieren. Ein Ereignis ist eine Zustandsänderung oder eine Aktualisierung, so wie ein Artikel, der in einen Einkaufswagen gelegt wird.

Pub/Sub-Messaging bietet Entwicklern, die Anwendungen erstellen, die auf Echtzeit-Ereignisse basieren, erhebliche Vorteile. Nachfolgend sind einige der Vorteile beschrieben.

Abfragen eliminieren

Nachrichtenthemen ermöglichen eine sofortige, Push-basierte Zustellung, sodass Nachrichtenkonsumenten nicht regelmäßig nach neuen Informationen und Aktualisierungen suchen oder diese abfragen müssen. Dies führt zu einer schnelleren Reaktionszeit und reduziert die Latenz bei der Zustellung, die besonders in Systemen, in denen Verzögerungen nicht toleriert werden können, problematisch sein kann.

Dynamisches Targeting

Das Pub/Sub-Muster macht das Auffinden von Services einfacher, natürlicher und weniger fehleranfällig. Anstatt eine Liste von Interessenten zu führen, damit eine Anwendung Nachrichten senden kann, veröffentlicht ein Publisher einfach Nachrichten in einem Thema. Anschließend abonniert jeder Interessent seinen Endpunkt für das Thema und beginnt, diese Nachrichten zu empfangen. Mehrere Abonnenten können wechseln, aktualisieren oder verschwinden, und das System passt sich dynamisch an.

Entkopplung und unabhängige Skalierung

Durch Pub/Sub wird die Software flexibler. Publisher und Subscriber sind entkoppelt und arbeiten unabhängig voneinander, wodurch Sie diese unabhängig entwickeln und skalieren können. Sie können entscheiden, ob Sie Aufträge in diesem Monat auf eine Weise und im folgenden Monat auf eine andere Weise abwickeln. Das Hinzufügen oder Ändern von Funktionen hat keine Auswirkungen auf das gesamte System, da Sie mit Pub/Sub flexibel festlegen können, wie alles zusammenarbeitet.

Vereinfachung der Kommunikation

Code für Kommunikation und Integration gehört zu den am schwierigsten zu schreibenden Codes. Das Publish-Subscribe-Modell verringert die Komplexität, indem es alle Punkt-zu-Punkt-Verbindungen mit einer einzigen Verbindung zu einem Nachrichtenthema entfernt. Das Thema verwaltet Abonnements, um zu entscheiden, welche Nachrichten an welche Endpunkte übermittelt werden sollen. Weniger Rückrufe führen zu einer geringeren Kopplung und einem einfacher zu wartenden und zu erweiternden Code.

Zuverlässigkeit

Pub/Sub Messaging Services bieten oft eine sehr hohe Zuverlässigkeit und eine mindestens einmalige Zustellung, indem sie Kopien derselben Nachricht auf mehreren Servern speichern.

Sicherheit

Nachrichtenthemen authentifizieren Anwendungen, die versuchen, Inhalte zu veröffentlichen, und können mithilfe von verschlüsselten Endpunkten Nachrichten bei der Übertragung über das Netzwerk schützen.

Was sind die Anwendungsfälle von Pub/Sub-Messaging?

Nachfolgend werden beliebte Anwendungsfälle des Publish-Subscribe (Pub/Sub)-Messaging-Systems beschrieben.

Parallele asynchrone Verarbeitung durchführen

Zu einem Nachrichtenthema veröffentlichte Ereignisse können dazu führen, dass mehrere Worker gleichzeitig notwendige, aber nicht zusammenhängende Aufgaben ausführen.

Anwendungs- und Systemwarnungen bereitstellen

Stellen Sie wichtige Aktualisierungen und asynchrone Ereignisbenachrichtigungen sofort an betroffene Anwendungskomponenten und Ihre Benutzer zu.

Asynchrone Workflows verwalten

Leiten Sie Ereignisse zwischen Anwendungen weiter, verschieben Sie Daten zwischen Datenspeichern, aktualisieren Sie verteilte Caches oder aktualisieren Sie Datensätze in Geschäftssystemen.

Workloads ausgleichen

Bündeln Sie Aufgaben für die Massenverarbeitung oder teilen Sie eine größere Aufgabe in viele kleinere Aufgaben auf und verwenden Sie die Nachrichtenwarteschlange, um die Arbeit auf mehrere Worker zu verteilen.

Anmeldung bei mehreren Systemen

Zeichnen Sie Ereignisse zur späteren Analyse auf, erfassen Sie Protokolle für Betrieb und Sicherheit oder archivieren Sie sie, um Backup- oder Compliance-Anforderungen zu erfüllen.

Fanout zur Replikation verwenden

Replizieren Sie Daten zwischen Produktions- und Entwicklungsumgebungen, oder entwickeln und testen Sie mit Live-Daten.

Serverless-Anwendungen koordinieren

Verteilen Sie asynchrone Ereignisbenachrichtigungen auf dezentrale Funktionen und Nachrichtenwarteschlangen, um die Komponenten Ihrer Serverless-Anwendung zu koordinieren.

IoT-Daten streamen

Das Pub/Sub-Muster ist eine sehr leistungsfähige Methode für die Interaktion von Geräten des Internet der Dinge (IoT). Geräte können problemlos Daten an Backend-Systeme oder untereinander streamen.

Was ist der Unterschied zwischen Nachrichtenwarteschlangen und Pub/Sub-Messaging?

Eine Nachrichtenwarteschlange ist eine andere Art der asynchronen Kommunikation, die in Serverless- und Microservices-Architekturen verwendet wird. Nachrichten werden in der Warteschlange gespeichert, bis sie verarbeitet und gelöscht werden. Bei Nachrichtenwarteschlangen muss der Sender wissen, mit wem er Nachrichten austauscht. Die Nachrichtenreihenfolge kann auch zu Engpässen im System führen.

Im Gegensatz dazu bietet das Publish-Subscribe (Pub/Sub)-Muster mehr Flexibilität. Mehrere interessierte Abonnenten können gleichzeitig und asynchron Nachrichten empfangen. Die Anbieter müssen nicht wissen, wer die Abonnenten sind. Die Nachrichtenverarbeitung ist besser skalierbar, zuverlässiger und bietet eine bessere Leistung.

Weitere Informationen über Serverless-Technologien in AWS »

Wie kann AWS Ihre Pub/Sub-Messaging-Anforderungen unterstützen?

Amazon Web Services (AWS) verfügt über zwei Services, die Sie für verschiedene Publish-Subscribe (Pub/Sub)-Anwendungen verwenden können.

Pub/Sub-APIs

AWS AppSync ist ein vollständig verwalteter Service zum Erstellen von Serverless-GraphQL- und Pub/Sub-APIs, die die Anwendungsentwicklung vereinfachen. Sie können einen einzelnen Endpunkt zum sicheren Abfragen, Aktualisieren oder Veröffentlichen von Daten erstellen.

Mit AWS AppSync entwickelte Pub/Sub-APIs geben Ihnen die Möglichkeit, Echtzeit-Datenaktualisierungen über Serverless WebSocket-Verbindungen an abonnierte API-Clients zu veröffentlichen. Sie können ansprechende Echtzeit-Erlebnisse für eine Vielzahl von Anwendungsfällen erstellen. Sie können beispielsweise aktuelle Spielstände, Finanzdaten, Zuschauerbeteiligung, Abstimmungen oder standortbezogene Funktionen wie Karten und Push-Benachrichtigungs-Marketing bereitstellen.

Mit AWS AppSync können Sie Folgendes erreichen:

  • Zugriff auf Daten aus einer oder mehreren Quellen oder Microservices mit einer einzigen Netzwerkanfrage
  • Interaktion mit und Aktualisierung von Daten – sogar offline – mit Offline-Datensynchronisierung, Versionsverwaltung und Konfliktlösung
  • Zahlen Sie nur für Anfragen an Ihre API und alle Echtzeit-Nachrichten, die an verbundene Clients übermittelt werden

Pub/Sub-Messaging

Amazon Simple Notification Service (SNS) vereinfacht das Erstellen einer Anwendung mithilfe des Pub/Sub-Messaging-Modells. Sie können Nachrichten aus Ihren Anwendungen an Kunden oder andere Anwendungen auf skalierbare und kosteneffiziente Weise senden.

Amazon SNS bietet mehrere Funktionen:

  • Push-basiertes Many-to-Many-Messaging mit hohem Durchsatz zwischen verteilten Systemen, Microservices und ereignisgesteuerten Serverless-Anwendungen
  • Nachrichtenverschlüsselung und Datenschutz im Datenverkehr
  • Verteilung der Funktionen auf AWS-Kategorien wie Analytik, Datenverarbeitung, Container, Datenbanken, Internet der Dinge (IoT), Machine Learning (ML), Sicherheit und Speicherung

Beginnen Sie mit Pub/Sub auf AWS, indem Sie noch heute ein kostenloses AWS-Konto erstellen.

Nächste Schritte auf AWS

Zusätzliche produktbezogene Ressourcen ansehen
Entdecken Sie kostenlose Internet-der-Dinge-Angebote 
Registrieren Sie sich und erhalten Sie ein kostenloses Konto

Sie erhalten sofort Zugriff auf das kostenlose Kontingent von AWS.

Registrieren 
Mit der Entwicklung in der Konsole starten

Starten Sie mit der Entwicklung in der AWS-Managementkonsole.

Anmelden