Übersicht über veröffentlichte Nachrichten

Wenn Sie eine Nachricht mit Pub/Sub veröffentlichen möchten, erstellt eine Publisher-Anwendung Nachrichten und sendet sie an ein Thema.

Dieses Dokument bietet einen Überblick über den Veröffentlichungs-Workflow, einschließlich des Konzepts von Themen und Nachrichten.

Themen

Ein Pub/Sub-Thema ist eine benannte Ressource, die einen Nachrichtenfeed darstellt. Wenn ein Publisher eine Nachricht sendet, ist sie auf ein bestimmtes Thema ausgerichtet. Der Pub/Sub-Dienst verwendet diesen Themennamen, um die Nachricht an alle Abos weiterzuleiten, die dem Thema zugeordnet sind. Wenn es mehrere Abonnenten für ein Abo gibt, erhält nur ein Abonnent im Abo die Nachricht.

Publisher müssen nicht wissen, wie viele Abonnenten es gibt. Sie konzentrieren sich auf das Thema und sorgen für die Trennung der Zuständigkeiten zwischen dem Senden und dem Empfangen von Nachrichten.

Pub/Sub unterstützt zwei Arten von Themen: ein Standardthema und ein Importthema.

Eigenschaften eines Themas

Wenn Sie ein Thema erstellen oder aktualisieren, können Sie die Themenattribute angeben.

Weitere Informationen zu den Thema-Attributen finden Sie unter Attribute eines Themas.

Importthemen

Mit einem Importthema kann Pub/Sub Streamingdaten aus einer anderen Quelle aufnehmen und als Publisher-Anwendung fungieren, die die Daten an das Thema sendet. Sie können die Aufnahme für ein Thema über die Console, die Google Cloud CLI, REST-Aufrufe oder die Clientbibliotheken aktivieren. Im Rahmen der Verwaltung des Importthemas übernimmtGoogle Cloud das Monitoring und die Skalierung der Aufnahmepipeline.

Ohne ein Importthema ist für das Streamen von Daten aus einer Datenquelle in Pub/Sub ein zusätzlicher Dienst erforderlich. Dieser zusätzliche Dienst ruft Daten aus der ursprünglichen Quelle ab und veröffentlicht sie in Pub/Sub. Der zusätzliche Dienst kann eine Streaming-Engine wie Apache Spark oder ein benutzerdefinierter Dienst sein. Außerdem müssen Sie diesen Dienst konfigurieren, bereitstellen, ausführen, skalieren und überwachen.

Im Folgenden finden Sie eine Liste mit wichtigen Informationen zu Importthemen:

  • Ähnlich wie bei einem Standardthema können Sie auch bei einem Importthema manuell veröffentlichen.

  • Sie können einem Importthema nur eine einzige Aufnahmequelle zuordnen.

Wir empfehlen Importthemen für Streamingdaten. Wenn Sie die Batch-Datenaufnahme in BigQuery anstelle der Streaming-Datenaufnahme in Betracht ziehen, können Sie den BigQuery Data Transfer Service ausprobieren. Wenn Sie Daten in Cloud Storage aufnehmen möchten, ist der Storage Transfer Service (STS) eine gute Option.

Pub/Sub unterstützt die folgenden Quellen für Importthemen:

Datenreplikation in einem Thema

Ein Pub/Sub-Thema verwendet drei Zonen zum Speichern von Daten. Der Dienst unterstützt die synchrone Replikation in mindestens zwei Zonen und die Best-Effort-Replikation in eine zusätzliche dritte Zone. Die Pub/Sub-Replikation erfolgt innerhalb einer einzelnen Region.

Nachrichten

Eine Pub/Sub-Nachricht sind die Daten, die durch den Dienst übertragen werden.

Eine Nachricht besteht aus Feldern mit den Nachrichtendaten und Metadaten. Eine Nachricht muss entweder Nachrichtendaten oder mindestens ein Attribut enthalten.

  • Die Nachrichtendaten: Dies ist der Hauptinhalt der Nachricht und kann beliebiger Text oder Binärdaten sein. Sie stellen die eigentlichen Informationen dar, die Sie zwischen Publishern und Abonnenten austauschen möchten. Wenn Sie die REST API direkt verwenden, müssen die Nachrichtendaten base64-codiert sein. Sehen Sie sich das Beispiel im Tab „REST“ im Abschnitt Nachrichten veröffentlichen an.

  • Reihenfolgeschlüssel: Dies ist eine optionale Kennung, die die Entität darstellt, für die Nachrichten sortiert werden müssen. Nachrichten mit demselben Reihenfolgeschlüssel werden voraussichtlich in der Reihenfolge ihrer Veröffentlichung an einen Abonnenten zugestellt. Ein Reihenfolgeschlüssel ist nur erforderlich, wenn Sie die Nachrichten in einer bestimmten Reihenfolge zustellen lassen möchten. Weitere Informationen zu Sortierschlüsseln finden Sie unter Nachrichten sortieren.

  • Attribute: Dies sind optionale Schlüssel/Wert-Paare, die zusätzlichen Kontext und Informationen zur Nachricht liefern. Sie können zum Weiterleiten, Filtern oder Anreichern des Nachrichteninhalts verwendet werden. Sie können beispielsweise Attribute wie Zeitstempel oder Transaktions-IDs hinzufügen. Weitere Informationen zu Attributen, die beim Veröffentlichen von Nachrichten verwendet werden, finden Sie unter Attribute zum Veröffentlichen einer Nachricht verwenden.

Der Pub/Sub-Dienst fügt der Nachricht die folgenden Felder hinzu:

  • Eine für das Thema eindeutige Nachrichten-ID
  • Ein Zeitstempel, wenn der Pub/Sub-Dienst die Nachricht empfängt

Wenn Sie Nachrichten mit Pub/Sub-Clientbibliotheken veröffentlichen, geben Sie die Nachricht data als Byte-Array an, z. B. als Node.js-Buffer. Wenn Ihre Daten ein String sind, müssen Sie sie zuerst in Byte codieren, z. B. mit der UTF-8-Codierung, bevor Sie sie an die Clientbibliothek übergeben.

Wenn Sie die REST API direkt verwenden, müssen die Nachrichtendaten base64-codiert und als String gesendet werden.

Das folgende Beispiel zeigt eine JSON-Darstellung einer Nachricht, die von einem Client gesendet wurde:

{
  "data": "VGhpcyBpcyB0aGUgY29yZSBtZXNzYWdlIGNvbnRlbnQu",
  "attributes": {
    "category": "notification",
    "user_id": "12345",
    "priority": "medium"
  },
  "orderingKey": "12345"
}

Wenn ein Abonnent die Nachricht empfängt, enthält sie Werte für messageId und publishTime, die vom Pub/Sub-Dienst hinzugefügt wurden:

{
  "data": "VGhpcyBpcyB0aGUgY29yZSBtZXNzYWdlIGNvbnRlbnQu",
  "attributes": {
    "category": "notification",
    "user_id": "12345",
    "priority": "medium"
  },
  "messageId": "19443130675731448",
  "publishTime": "2026-05-04T23:15:19.863Z",
  "orderingKey": "12345"
  }
}

Workflow zum Veröffentlichen von Nachrichten

Wenn Sie eine Nachricht mit Pub/Sub veröffentlichen möchten, erstellt eine Publisher-Anwendung Nachrichten und sendet sie an ein Thema.

  1. Eine Nachricht mit den entsprechenden Daten erstellen.
  2. Wählen Sie optionale Veröffentlichungsattribute aus.
  3. Senden Sie eine Anfrage an den Pub/Sub-Server, um die Nachricht in einem bestimmten Thema zu veröffentlichen.
  4. Der Pub/Sub-Dienst empfängt die Nachricht und verarbeitet sie so:

    • Die Nachricht wird für die Verteilung gespeichert.

    • Die Nachricht wird zur Gewährleistung von Langlebigkeit und Hochverfügbarkeit über mehrere Zonen hinweg repliziert.

    • Pub/Sub identifiziert Abonnenten mit Abos, die dem Thema der Nachricht entsprechen, und stellt jedem eine Kopie der Nachricht zu.

Pub/Sub bietet vorhandenen Abonnenten eine mindestens einmalige Nachrichtenzustellung und eine bestmögliche Reihenfolge.

Weitere Informationen zum Pub/Sub-System finden Sie unter Pub/Sub-Dienst – Übersicht.

Weitere Informationen zur Funktionsweise von Pub/Sub finden Sie unter Architekturübersicht von Pub/Sub.

Nächste Schritte

Apache Kafka® ist eine eingetragene Marke der Apache Software Foundation oder deren Tochtergesellschaften in den USA und/oder anderen Ländern.