Was ist Cloud Pub/Sub?

Cloud Pub/Sub bringt die Flexibilität und Zuverlässigkeit von nachrichtenorientierter Middleware für Unternehmen in die Cloud. Gleichzeitig ist Cloud Pub/Sub ein skalierbares, langlebiges System zur Aufnahme und Bereitstellung von Ereignissen, das als Grundlage für moderne Stream-Analyse-Pipelines dient. Durch asynchrones n:n-Messaging, das Absender und Empfänger entkoppelt, ermöglicht es eine sichere und hochverfügbare Kommunikation zwischen unabhängig entwickelten Anwendungen. Cloud Pub/Sub ist ein beständiger Nachrichtendienst mit niedriger Latenz, der Entwicklern die schnelle Integration von auf der Google Cloud Platform oder extern gehosteten Systemen ermöglicht.

Sind Sie ein erfahrener Messaging-Entwickler und möchten sofort loslegen? Dann bietet sich der Schnellstart an. Eine umfassendere Einführung finden Sie unter Funktionsfähiges Cloud Pub/Sub-System erstellen. Andere beliebte Einstiegsmöglichkeiten sind die Cloud Pub/Sub-Dokumentation und die Clientbibliotheken.

Wichtige Konzepte

  • Thema: Eine benannte Ressource, an die Nachrichten von Publishern gesendet werden.
  • Abo: Eine benannte Ressource, die für den Nachrichtenfluss von einem einzelnen bestimmten Thema steht, der für die abonnierende Anwendung bereitgestellt werden soll. Weitere Informationen zu Abos und zur Semantik der Nachrichtenzustellung finden Sie im Abonnentenleitfaden.
  • Nachricht: Die Kombination von Daten und (optionalen) Attributen, die ein Publisher an ein Thema sendet und die schließlich für Abonnenten bereitgestellt wird.
  • Nachrichtenattribut: Ein Schlüssel/Wert-Paar, das ein Publisher für eine Nachricht definieren kann. Beispiel: Mit dem Schlüssel iana.org/language_tag und dem Wert en werden Nachrichten als für englischsprachige Abonnenten lesbar gekennzeichnet.

Publisher-Abonnenten-Beziehungen

Eine Publisher-Anwendung erstellt und sendet Nachrichten an ein Thema. Abonnentenanwendungen erstellen ein Abo eines Themas, um Nachrichten von ihm zu erhalten. Kommunikation kann 1:n ("Fan-Out"), n:1 ("Fan-In") und n:n stattfinden.

Cloud-Pub/Sub-Nachrichtenfluss

Hier eine Übersicht der Komponenten in einem Cloud Pub/Sub-System und des Nachrichtenflusses zwischen ihnen:

  1. Mit einer Publisher-Anwendung werden Themen in Cloud Pub/Sub erstellt und Nachrichten an diese Themen gesendet. Eine Nachricht enthält eine Nutzlast und optionale Attribute zur Beschreibung des Nutzlastinhalts.
  2. Der Dienst gewährleistet, dass veröffentlichte Nachrichten für Abos gespeichert werden. Eine veröffentlichte Nachricht wird für ein Abo gespeichert, bis sie von einem Abonnenten, der Nachrichten aus diesem Abo nutzt, bestätigt wird.
  3. Cloud Pub/Sub leitet Nachrichten von einem Thema einzeln an alle zugehörigen Abos weiter. Jedes Abo empfängt Nachrichten entweder per Weiterleitung an den ausgewählten Endpunkt des Abonnenten durch Cloud Pub/Sub (Push) oder per Abruf aus dem Dienst durch den Abonnenten (Pull).
  4. Der Abonnent empfängt ausstehende Nachrichten aus seinem Abo und bestätigt jede dieser Nachrichten gegenüber dem Cloud Pub/Sub-Dienst.
  5. Wenn eine Nachricht vom Abonnenten bestätigt wurde, wird sie aus der Nachrichtenwarteschlange des Abos entfernt.

Publisher- und Abonnent-Endpunkte

Publisher können beliebige Anwendungen sein, die HTTPS-Anfragen an googleapis.com stellen können: eine App Engine-App, ein auf Google Compute Engine oder einem Netzwerk eines anderen Anbieters gehosteter Webservice, eine installierte App für Desktop- oder Mobilgeräte oder auch ein Browser.

Pull-Abonnenten können außerdem alle Anwendungen sein, die HTTPS-Anfragen an googleapis.com stellen können.

Push-Abonnenten müssen Webhook-Endpunkte sein, die POST-Anfragen über HTTPS akzeptieren.

Gängige Anwendungsfälle

  • Workloads in Netzwerkclustern ausgleichen. Zum Beispiel kann eine lange Warteschlange von Aufgaben effizient auf mehrere Worker verteilt werden, etwa Google Compute Engine-Instanzen.
  • Asynchrone Workflows implementieren. Zum Beispiel kann eine Auftragsverarbeitungsanwendung einen Auftrag in ein Thema einfügen, der von dort aus durch einen oder mehrere Worker verarbeitet wird.
  • Ereignisbenachrichtigungen verteilen. Zum Beispiel kann ein Dienst, der Benutzerregistrierungen akzeptiert, immer dann Benachrichtigungen senden, wenn sich ein neuer Nutzer anmeldet, und Downstream-Dienste können Benachrichtigungen zu dem Ereignis abonnieren.
  • Verteilte Cache-Speicher aktualisieren. Zum Beispiel kann eine Anwendung Entwertungsereignisse veröffentlichen, um die IDs von geänderten Objekten zu aktualisieren.
  • Bei mehreren Systemen anmelden. Zum Beispiel kann eine Google Compute Engine-Instanz Protokolle in das Überwachungssystem oder in eine Datenbank für spätere Abfragen schreiben.
  • Datenstreaming von verschiedenen Prozessen oder Geräten. Zum Beispiel kann ein fester Sensor Daten an Back-End-Server streamen, die in der Cloud gehostet werden.
  • Verbesserung der Zuverlässigkeit. Zum Beispiel kann ein Compute Engine-Dienst für eine einzelne Zone in weiteren Zonen verwendet werden, wenn ein gemeinsames Thema abonniert wird, um Fehler in einer Zone oder einem Bereich zu korrigieren.

Cloud Pub/Sub-Integrationen

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...

Cloud Pub/Sub-Dokumentation