Mitteilung veröffentlichen – Übersicht

Dieses Dokument bietet einen Überblick über das Veröffentlichen von Nachrichten.

Workflow zum Veröffentlichen von Nachrichten

Eine Publisher-Anwendung erstellt und sendet Nachrichten an ein Thema, um eine Nachricht mit Pub/Sub zu veröffentlichen.

  1. Eine Nachricht mit den entsprechenden Daten erstellen.
  2. Wählen Sie beliebige optionale Veröffentlichungsattribute aus.
  3. Sie senden eine Anfrage an den Pub/Sub-Server, um die Nachricht unter 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 aus Gründen der Langlebigkeit und Hochverfügbarkeit über mehrere Zonen repliziert.

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

Pub/Sub bietet eine mindestens einmalige Nachrichtenzustellung und Best-Effort-Reihenfolge für bestehende Abonnenten.

Eine Übersicht über das Pub/Sub-System finden Sie unter Übersicht über den Pub/Sub-Dienst.

Eine Erklärung der Funktionsweise von Pub/Sub finden Sie unter Architekturübersicht über Pub/Sub.

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 an das Thema angehängt sind. Wenn ein Abo mehrere Abonnenten hat, erhält nur ein Abonnent die Nachricht.

Publisher müssen nicht wissen, wie viele Abonnenten es gibt. Sie konzentrieren sich auf das Thema und stellen sicher, dass Belange zwischen dem Senden und Empfangen von Nachrichten getrennt sind.

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 in nur einer Region.

Eigenschaften eines Themas

Wenn Sie ein Thema erstellen oder aktualisieren, können Sie die Eigenschaften des Themas angeben.

Nachrichten

Eine Pub/Sub-Nachricht besteht aus den Daten, die durch den Dienst geleitet werden.

Eine Nachricht besteht aus Feldern mit den Nachrichtendaten und Metadaten. Eine der folgenden Optionen muss in einer Nachricht angegeben werden.

  • Nachrichtendaten: Dies ist der Kerninhalt der Nachricht. Es kann sich dabei um einen beliebigen Text oder um Binärdaten handeln. Es steht für die tatsächlichen Informationen, die Sie zwischen Publishern und Abonnenten kommunizieren möchten. Wenn Sie die REST API direkt verwenden, müssen die Nachrichtendaten base64-codiert sein. Sehen Sie sich dazu das Beispiel auf dem Tab „REST“ im Abschnitt Publish messages (Nachrichten veröffentlichen) an.

  • Sortierschlüssel: Dies ist eine Kennung für die Entität, für die Nachrichten sortiert werden müssen. Nachrichten mit demselben Reihenfolgeschlüssel werden einem Abonnenten in der Reihenfolge ihrer Veröffentlichung zugestellt. Ein Reihenfolgeschlüssel ist nur erforderlich, wenn Sie eine geordnete Zustellung Ihrer Nachrichten wünschen. Weitere Informationen zu Sortierschlüsseln finden Sie unter Bestellnachricht.

  • 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 von Nachrichten 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

Hier ein Beispiel für ein Nachrichtenformat in JSON:

{
  "data": "This is the core message content.",
  "attributes": {
    "category": "notification",
    "user_id": "12345",
    "priority": "medium"
  },
    "orderingKey": "12345"
}

Nächste Schritte